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/12/07 06:20:21 UTC

[apisix-website] branch asf-site updated: deploy: 95715f52bcbff520bd910714cc9da5d1e8b18689

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 594d6ff  deploy: 95715f52bcbff520bd910714cc9da5d1e8b18689
594d6ff is described below

commit 594d6ff524bc8f1da216a6ade00e080ada6c38ff
Author: juzhiyuan <ju...@users.noreply.github.com>
AuthorDate: Tue Dec 7 06:19:13 2021 +0000

    deploy: 95715f52bcbff520bd910714cc9da5d1e8b18689
---
 404.html                                           |  8 +++----
 .../index.html                                     |  8 +++----
 .../index.html                                     | 12 +++++-----
 .../Apache-APISIX-Incubator-Journey/index.html     |  8 +++----
 .../Apache-APISIX-Kubernetes-Ingress/index.html    |  8 +++----
 .../Apache-APISIX-in-China-Mobile-Cloud/index.html | 12 +++++-----
 .../index.html                                     |  8 +++----
 .../index.html                                     |  8 +++----
 .../index.html                                     |  8 +++----
 .../Speed-Limiting-With-Apache-APISIX/index.html   |  8 +++----
 .../index.html                                     |  8 +++----
 articles/The-Appeal-of-OpenSource/index.html       |  8 +++----
 articles/The-Evolution-of-Apache-APISIX/index.html |  8 +++----
 .../index.html                                     |  8 +++----
 articles/archive/index.html                        |  8 +++----
 articles/atom.xml                                  |  6 ++---
 articles/index.html                                | 10 ++++----
 articles/page/2/index.html                         |  8 +++----
 articles/rss.xml                                   |  6 ++---
 assets/js/03b491a1.9e1410fe.js                     |  1 -
 assets/js/03b491a1.a44d89f5.js                     |  1 +
 assets/js/07718882.3395bf05.js                     |  1 -
 assets/js/07718882.d6479b1d.js                     |  1 +
 assets/js/09b17eb5.7a4383c9.js                     |  1 +
 assets/js/09b17eb5.82162a34.js                     |  1 -
 assets/js/11ce4159.711b0007.js                     |  1 -
 assets/js/11ce4159.75db5cf0.js                     |  1 +
 assets/js/19945770.34927e18.js                     |  1 -
 assets/js/19945770.b4bbbd28.js                     |  1 +
 assets/js/27383beb.6a5599b9.js                     |  1 -
 assets/js/3393d167.3f591906.js                     |  1 +
 assets/js/3393d167.b173c562.js                     |  1 -
 assets/js/358566b4.34bb0555.js                     |  1 -
 assets/js/358566b4.aa6fe92a.js                     |  1 +
 assets/js/3dc9f306.11b5e887.js                     |  1 +
 assets/js/3dc9f306.972b806f.js                     |  1 -
 assets/js/3f1b4b86.edbcb5c9.js                     |  1 -
 assets/js/3f1b4b86.f0700596.js                     |  1 +
 assets/js/40fb2fae.c94c83ba.js                     |  1 +
 assets/js/40fb2fae.cbefbe12.js                     |  1 -
 assets/js/44ac4dbb.44ab412a.js                     |  1 +
 assets/js/44ac4dbb.6ec0f24f.js                     |  1 -
 assets/js/4c20006b.1347f0b1.js                     |  1 +
 assets/js/4c20006b.606227fe.js                     |  1 -
 assets/js/4f9f5708.3a2ea8e7.js                     |  1 +
 assets/js/4f9f5708.720796a6.js                     |  1 -
 assets/js/507e1a4c.16a2ccc1.js                     |  1 +
 assets/js/507e1a4c.21f84a65.js                     |  1 -
 assets/js/50facf8e.58bcf6ad.js                     |  1 -
 assets/js/50facf8e.ffbe39f6.js                     |  1 +
 assets/js/52099127.0b438c66.js                     |  1 +
 assets/js/52099127.b3d22f82.js                     |  1 -
 assets/js/542fd41f.04ffc55a.js                     |  1 -
 assets/js/542fd41f.2b49e2eb.js                     |  1 +
 assets/js/55207995.436831a9.js                     |  1 -
 assets/js/55207995.a89e1a5c.js                     |  1 +
 assets/js/601c6eaa.a127cc99.js                     |  1 -
 assets/js/601c6eaa.f6cfa551.js                     |  1 +
 assets/js/66fbb9c2.55ee356f.js                     |  1 +
 assets/js/66fbb9c2.fc363564.js                     |  1 -
 assets/js/6814da5a.6ec08f2d.js                     |  1 -
 assets/js/7af3052c.09aeb1d2.js                     |  1 +
 assets/js/7af3052c.bec452d4.js                     |  1 -
 assets/js/7d9726a8.113f1dd7.js                     |  1 +
 assets/js/7d9726a8.9a197cea.js                     |  1 -
 assets/js/80791de8.09aecbbb.js                     |  1 +
 assets/js/80791de8.9ba35802.js                     |  1 -
 assets/js/814f3328.4ea5d517.js                     |  1 +
 assets/js/814f3328.b6ce3900.js                     |  1 -
 assets/js/8e784bf3.97bd3329.js                     |  1 +
 assets/js/8e784bf3.af124f66.js                     |  1 -
 assets/js/8eb4e46b.5f497b5f.js                     |  1 +
 assets/js/8eb4e46b.c30f8da7.js                     |  1 -
 assets/js/8f700fa6.1bf27a89.js                     |  1 +
 assets/js/8f700fa6.8f185bdb.js                     |  1 -
 assets/js/90fc8a94.51ddfe0a.js                     |  1 +
 assets/js/90fc8a94.604adf9b.js                     |  1 -
 assets/js/92999a1c.9568d163.js                     |  1 +
 assets/js/92999a1c.ee6fdc5d.js                     |  1 -
 assets/js/941960b1.1695f66f.js                     |  1 -
 assets/js/941960b1.80c40b4b.js                     |  1 +
 assets/js/98b657d8.0fde2c0e.js                     |  1 +
 assets/js/98b657d8.e3905ea2.js                     |  1 -
 assets/js/a7023ddc.81551fdf.js                     |  1 -
 assets/js/a7023ddc.e79d09e1.js                     |  1 +
 assets/js/adbb350b.a601ea63.js                     |  1 -
 assets/js/adbb350b.de3712a5.js                     |  1 +
 assets/js/b2b675dd.844f6c76.js                     |  1 -
 assets/js/b2b675dd.e1c814c6.js                     |  1 +
 assets/js/b2f554cd.49409c80.js                     |  1 +
 assets/js/b2f554cd.e8c537a0.js                     |  1 -
 assets/js/d18db9b0.314dc587.js                     |  1 +
 assets/js/d18db9b0.f81b7656.js                     |  1 -
 assets/js/f091cc2c.598f30bd.js                     |  1 +
 assets/js/f091cc2c.fb182237.js                     |  1 -
 assets/js/main.0075334b.js                         |  2 ++
 .../js/main.0075334b.js.LICENSE.txt                |  0
 assets/js/main.b8faba07.js                         |  2 --
 assets/js/runtime~main.3f484e6a.js                 |  1 +
 assets/js/runtime~main.fc942a8c.js                 |  1 -
 .../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 ++++----
 blog/2021/05/24/Tencent-Games/index.html           | 10 ++++----
 .../05/25/Apache APISIX 2.6.0-Release/index.html   | 10 ++++----
 .../index.html                                     | 10 ++++----
 blog/2021/06/06/apisix-two-years/index.html        | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../06/28/why-we-need-Apache-APISIX/index.html     | 10 ++++----
 .../06/29/release-apache-apisix-2.7/index.html     | 10 ++++----
 .../etcd3-support-HTTP-access-perfectly/index.html | 10 ++++----
 .../07/06/celebrate-200-contributors/index.html    | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../2021/07/21/Apache-APISIX-Kubernetes/index.html | 10 ++++----
 blog/2021/07/25/apachecon-asia/index.html          | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../07/28/release-apache-apisix-2.8/index.html     | 10 ++++----
 blog/2021/08/05/Kong-to-APISIX/index.html          | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../Apache-APISIX-in-China-Mobile-Cloud/index.html | 10 ++++----
 .../08/09/Apache-APISIX-in-Quliankeji/index.html   | 10 ++++----
 blog/2021/08/10/apisix-nginx/index.html            | 10 ++++----
 blog/2021/08/11/interview-TuZhengsong/index.html   | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 10 ++++----
 blog/2021/08/17/interview-airwallex/index.html     | 10 ++++----
 .../Auth-with-Casbin-in-Apache-APISIX/index.html   | 10 ++++----
 .../08/19/go-makes-Apache-APISIX-better/index.html | 10 ++++----
 blog/2021/08/19/weekly-report/index.html           | 10 ++++----
 blog/2021/08/21/shanghai-meetup/index.html         | 10 ++++----
 blog/2021/08/23/ApacheCon-Asia-2021/index.html     | 10 ++++----
 blog/2021/08/23/weekly-report/index.html           | 10 ++++----
 blog/2021/08/24/shanghai-meetup-recap/index.html   | 10 ++++----
 .../Auth-with-Casbin-in-Apache-APISIX/index.html   | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../08/27/release-apache-apisix-2.9/index.html     | 10 ++++----
 blog/2021/08/30/Ingress-Meeting/index.html         | 10 ++++----
 blog/2021/08/30/weekly-report/index.html           | 10 ++++----
 .../index.html"                                    | 10 ++++----
 .../index.html                                     | 10 ++++----
 blog/2021/09/07/how-to-use-apisix-auth/index.html  | 10 ++++----
 blog/2021/09/07/iQIYI-usercase/index.html          | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../09/13/china-mobile-cloud-usercase/index.html   | 10 ++++----
 blog/2021/09/14/youzan/index.html                  | 10 ++++----
 blog/2021/09/15/weekly-report/index.html           | 10 ++++----
 blog/2021/09/16/tencent-cloud/index.html           | 10 ++++----
 blog/2021/09/18/xiaodian-usercase/index.html       | 10 ++++----
 blog/2021/09/24/youpaicloud-usercase/index.html    | 10 ++++----
 blog/2021/09/28/WPS-usercase/index.html            | 10 ++++----
 .../09/29/release-apache-apisix-2.10/index.html    | 10 ++++----
 blog/2021/09/30/weekly-report/index.html           | 10 ++++----
 blog/2021/10/01/openEuler/index.html               | 10 ++++----
 blog/2021/10/09/apisix-ingress-techblog/index.html | 10 ++++----
 .../index.html                                     | 10 ++++----
 blog/2021/10/14/weekly-report-1014/index.html      | 10 ++++----
 blog/2021/10/18/meetup/index.html                  | 10 ++++----
 blog/2021/10/22/cert-manager-in-ingress/index.html | 10 ++++----
 blog/2021/10/26/APISIX-Ingress/index.html          | 10 ++++----
 blog/2021/10/29/Extension-guide/index.html         | 10 ++++----
 blog/2021/11/02/weekly-report-1031/index.html      | 10 ++++----
 blog/2021/11/03/airwallex-usercase/index.html      | 10 ++++----
 blog/2021/11/04/skywalking/index.html              | 10 ++++----
 blog/2021/11/12/apisix-datadog/index.html          | 10 ++++----
 blog/2021/11/16/weekly-report-1114/index.html      | 10 ++++----
 blog/2021/11/17/dapr-with-apisix/index.html        | 10 ++++----
 blog/2021/11/19/apisix-supports-wasm/index.html    | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../23/cve-2021-43557-research-report/index.html   | 10 ++++----
 blog/2021/11/23/cve-2021-43557/index.html          | 10 ++++----
 .../apache-apisix-committer-experience/index.html  | 10 ++++----
 .../30/use-apisix-ingress-in-kubesphere/index.html | 10 ++++----
 .../01/apisix-supports-azure-functions/index.html  | 10 ++++----
 blog/2021/12/02/weekly-report-1130/index.html      | 10 ++++----
 .../apisix-integrate-skywalking-plugin/index.html  | 28 ----------------------
 blog/archive/index.html                            | 10 ++++----
 blog/atom.xml                                      | 13 +---------
 blog/index.html                                    | 10 ++++----
 blog/page/2/index.html                             | 10 ++++----
 blog/page/3/index.html                             | 10 ++++----
 blog/page/4/index.html                             | 10 ++++----
 blog/page/5/index.html                             | 10 ++++----
 blog/page/6/index.html                             | 10 ++++----
 blog/page/7/index.html                             | 10 ++++----
 blog/page/8/index.html                             | 10 ++++----
 blog/page/9/index.html                             | 10 ++++----
 blog/rss.xml                                       |  9 +------
 blog/tags/community/index.html                     | 10 ++++----
 blog/tags/events/index.html                        | 10 ++++----
 blog/tags/index.html                               | 10 ++++----
 blog/tags/interview/index.html                     | 10 ++++----
 blog/tags/practical-case/index.html                | 10 ++++----
 blog/tags/release/index.html                       | 10 ++++----
 blog/tags/security/index.html                      | 10 ++++----
 blog/tags/technology/index.html                    | 12 +++++-----
 blog/tags/user-case/index.html                     | 10 ++++----
 contribute/ContributeCard/index.html               |  8 +++----
 contribute/index.html                              |  8 +++----
 docs/apisix/2.10/FAQ/index.html                    |  8 +++----
 docs/apisix/2.10/IGNORE_DOC/index.html             |  8 +++----
 docs/apisix/2.10/admin-api/index.html              |  8 +++----
 .../2.10/architecture-design/apisix/index.html     |  8 +++----
 .../2.10/architecture-design/consumer/index.html   |  8 +++----
 .../2.10/architecture-design/debug-mode/index.html |  8 +++----
 .../architecture-design/global-rule/index.html     |  8 +++----
 docs/apisix/2.10/architecture-design/index.html    |  8 +++----
 .../architecture-design/plugin-config/index.html   |  8 +++----
 .../2.10/architecture-design/plugin/index.html     |  8 +++----
 .../2.10/architecture-design/route/index.html      |  8 +++----
 .../2.10/architecture-design/router/index.html     |  8 +++----
 .../2.10/architecture-design/script/index.html     |  8 +++----
 .../2.10/architecture-design/service/index.html    |  8 +++----
 .../2.10/architecture-design/upstream/index.html   |  8 +++----
 docs/apisix/2.10/aws/index.html                    |  8 +++----
 docs/apisix/2.10/batch-processor/index.html        |  8 +++----
 docs/apisix/2.10/benchmark/index.html              |  8 +++----
 docs/apisix/2.10/certificate/index.html            |  8 +++----
 docs/apisix/2.10/control-api/index.html            |  8 +++----
 .../2.10/customize-nginx-configuration/index.html  |  8 +++----
 docs/apisix/2.10/debug-function/index.html         |  8 +++----
 docs/apisix/2.10/discovery/consul_kv/index.html    |  8 +++----
 docs/apisix/2.10/discovery/dns/index.html          |  8 +++----
 docs/apisix/2.10/discovery/eureka/index.html       |  8 +++----
 docs/apisix/2.10/discovery/index.html              |  8 +++----
 docs/apisix/2.10/discovery/nacos/index.html        |  8 +++----
 docs/apisix/2.10/dns/index.html                    |  8 +++----
 .../index.html                                     |  8 +++----
 docs/apisix/2.10/external-plugin/index.html        |  8 +++----
 docs/apisix/2.10/getting-started/index.html        |  8 +++----
 docs/apisix/2.10/grpc-proxy/index.html             |  8 +++----
 docs/apisix/2.10/health-check/index.html           |  8 +++----
 docs/apisix/2.10/how-to-build/index.html           |  8 +++----
 docs/apisix/2.10/https/index.html                  |  8 +++----
 docs/apisix/2.10/install-dependencies/index.html   |  8 +++----
 .../2.10/internal/testing-framework/index.html     |  8 +++----
 docs/apisix/2.10/mtls/index.html                   |  8 +++----
 docs/apisix/2.10/plugin-develop/index.html         |  8 +++----
 docs/apisix/2.10/plugin-interceptors/index.html    |  8 +++----
 docs/apisix/2.10/plugins/api-breaker/index.html    |  8 +++----
 docs/apisix/2.10/plugins/authz-casbin/index.html   |  8 +++----
 docs/apisix/2.10/plugins/authz-keycloak/index.html |  8 +++----
 docs/apisix/2.10/plugins/basic-auth/index.html     |  8 +++----
 docs/apisix/2.10/plugins/batch-requests/index.html |  8 +++----
 docs/apisix/2.10/plugins/client-control/index.html |  8 +++----
 .../2.10/plugins/consumer-restriction/index.html   |  8 +++----
 docs/apisix/2.10/plugins/cors/index.html           |  8 +++----
 docs/apisix/2.10/plugins/dubbo-proxy/index.html    |  8 +++----
 docs/apisix/2.10/plugins/echo/index.html           |  8 +++----
 .../2.10/plugins/error-log-logger/index.html       |  8 +++----
 .../2.10/plugins/ext-plugin-post-req/index.html    |  8 +++----
 .../2.10/plugins/ext-plugin-pre-req/index.html     |  8 +++----
 .../apisix/2.10/plugins/fault-injection/index.html |  8 +++----
 docs/apisix/2.10/plugins/grpc-transcode/index.html |  8 +++----
 docs/apisix/2.10/plugins/gzip/index.html           |  8 +++----
 docs/apisix/2.10/plugins/hmac-auth/index.html      |  8 +++----
 docs/apisix/2.10/plugins/http-logger/index.html    |  8 +++----
 docs/apisix/2.10/plugins/index.html                |  8 +++----
 docs/apisix/2.10/plugins/ip-restriction/index.html |  8 +++----
 docs/apisix/2.10/plugins/jwt-auth/index.html       |  8 +++----
 docs/apisix/2.10/plugins/kafka-logger/index.html   |  8 +++----
 docs/apisix/2.10/plugins/key-auth/index.html       |  8 +++----
 docs/apisix/2.10/plugins/limit-conn/index.html     |  8 +++----
 docs/apisix/2.10/plugins/limit-count/index.html    |  8 +++----
 docs/apisix/2.10/plugins/limit-req/index.html      |  8 +++----
 docs/apisix/2.10/plugins/log-rotate/index.html     |  8 +++----
 docs/apisix/2.10/plugins/mqtt-proxy/index.html     |  8 +++----
 docs/apisix/2.10/plugins/node-status/index.html    |  8 +++----
 docs/apisix/2.10/plugins/openid-connect/index.html |  8 +++----
 docs/apisix/2.10/plugins/prometheus/index.html     |  8 +++----
 docs/apisix/2.10/plugins/proxy-cache/index.html    |  8 +++----
 docs/apisix/2.10/plugins/proxy-mirror/index.html   |  8 +++----
 docs/apisix/2.10/plugins/proxy-rewrite/index.html  |  8 +++----
 docs/apisix/2.10/plugins/real-ip/index.html        |  8 +++----
 docs/apisix/2.10/plugins/redirect/index.html       |  8 +++----
 .../2.10/plugins/referer-restriction/index.html    |  8 +++----
 docs/apisix/2.10/plugins/request-id/index.html     |  8 +++----
 .../2.10/plugins/request-validation/index.html     |  8 +++----
 .../2.10/plugins/response-rewrite/index.html       |  8 +++----
 docs/apisix/2.10/plugins/server-info/index.html    |  8 +++----
 docs/apisix/2.10/plugins/serverless/index.html     |  8 +++----
 docs/apisix/2.10/plugins/skywalking/index.html     |  8 +++----
 docs/apisix/2.10/plugins/sls-logger/index.html     |  8 +++----
 docs/apisix/2.10/plugins/syslog/index.html         |  8 +++----
 docs/apisix/2.10/plugins/tcp-logger/index.html     |  8 +++----
 docs/apisix/2.10/plugins/traffic-split/index.html  |  8 +++----
 docs/apisix/2.10/plugins/ua-restriction/index.html |  8 +++----
 docs/apisix/2.10/plugins/udp-logger/index.html     |  8 +++----
 docs/apisix/2.10/plugins/uri-blocker/index.html    |  8 +++----
 docs/apisix/2.10/plugins/wolf-rbac/index.html      |  8 +++----
 docs/apisix/2.10/plugins/zipkin/index.html         |  8 +++----
 docs/apisix/2.10/powered-by/index.html             |  8 +++----
 docs/apisix/2.10/profile/index.html                |  8 +++----
 docs/apisix/2.10/router-radixtree/index.html       |  8 +++----
 docs/apisix/2.10/stand-alone/index.html            |  8 +++----
 docs/apisix/2.10/stream-proxy/index.html           |  8 +++----
 docs/apisix/2.10/tags/index.html                   |  8 +++----
 docs/apisix/2.4/FAQ/index.html                     |  8 +++----
 docs/apisix/2.4/IGNORE_DOC/index.html              |  8 +++----
 docs/apisix/2.4/admin-api/index.html               |  8 +++----
 docs/apisix/2.4/architecture-design/index.html     |  8 +++----
 docs/apisix/2.4/aws/index.html                     |  8 +++----
 docs/apisix/2.4/batch-processor/index.html         |  8 +++----
 docs/apisix/2.4/benchmark/index.html               |  8 +++----
 docs/apisix/2.4/control-api/index.html             |  8 +++----
 .../2.4/customize-nginx-configuration/index.html   |  8 +++----
 docs/apisix/2.4/debug-function/index.html          |  8 +++----
 docs/apisix/2.4/discovery/consul_kv/index.html     |  8 +++----
 docs/apisix/2.4/discovery/index.html               |  8 +++----
 docs/apisix/2.4/dns/index.html                     |  8 +++----
 .../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.4/tags/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.5/tags/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.6/tags/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/2.7/tags/index.html                    |  8 +++----
 docs/apisix/2.8/FAQ/index.html                     |  8 +++----
 docs/apisix/2.8/IGNORE_DOC/index.html              |  8 +++----
 docs/apisix/2.8/admin-api/index.html               |  8 +++----
 .../2.8/architecture-design/apisix/index.html      |  8 +++----
 .../2.8/architecture-design/consumer/index.html    |  8 +++----
 .../2.8/architecture-design/debug-mode/index.html  |  8 +++----
 .../2.8/architecture-design/global-rule/index.html |  8 +++----
 docs/apisix/2.8/architecture-design/index.html     |  8 +++----
 .../architecture-design/plugin-config/index.html   |  8 +++----
 .../2.8/architecture-design/plugin/index.html      |  8 +++----
 .../2.8/architecture-design/route/index.html       |  8 +++----
 .../2.8/architecture-design/router/index.html      |  8 +++----
 .../2.8/architecture-design/script/index.html      |  8 +++----
 .../2.8/architecture-design/service/index.html     |  8 +++----
 .../2.8/architecture-design/upstream/index.html    |  8 +++----
 docs/apisix/2.8/aws/index.html                     |  8 +++----
 docs/apisix/2.8/batch-processor/index.html         |  8 +++----
 docs/apisix/2.8/benchmark/index.html               |  8 +++----
 docs/apisix/2.8/certificate/index.html             |  8 +++----
 docs/apisix/2.8/control-api/index.html             |  8 +++----
 .../2.8/customize-nginx-configuration/index.html   |  8 +++----
 docs/apisix/2.8/debug-function/index.html          |  8 +++----
 docs/apisix/2.8/discovery/consul_kv/index.html     |  8 +++----
 docs/apisix/2.8/discovery/dns/index.html           |  8 +++----
 docs/apisix/2.8/discovery/eureka/index.html        |  8 +++----
 docs/apisix/2.8/discovery/index.html               |  8 +++----
 docs/apisix/2.8/discovery/nacos/index.html         |  8 +++----
 docs/apisix/2.8/dns/index.html                     |  8 +++----
 .../index.html                                     |  8 +++----
 docs/apisix/2.8/external-plugin/index.html         |  8 +++----
 docs/apisix/2.8/getting-started/index.html         |  8 +++----
 docs/apisix/2.8/grpc-proxy/index.html              |  8 +++----
 docs/apisix/2.8/health-check/index.html            |  8 +++----
 docs/apisix/2.8/how-to-build/index.html            |  8 +++----
 docs/apisix/2.8/https/index.html                   |  8 +++----
 docs/apisix/2.8/install-dependencies/index.html    |  8 +++----
 docs/apisix/2.8/mtls/index.html                    |  8 +++----
 docs/apisix/2.8/plugin-develop/index.html          |  8 +++----
 docs/apisix/2.8/plugin-interceptors/index.html     |  8 +++----
 docs/apisix/2.8/plugins/api-breaker/index.html     |  8 +++----
 docs/apisix/2.8/plugins/authz-keycloak/index.html  |  8 +++----
 docs/apisix/2.8/plugins/basic-auth/index.html      |  8 +++----
 docs/apisix/2.8/plugins/batch-requests/index.html  |  8 +++----
 docs/apisix/2.8/plugins/client-control/index.html  |  8 +++----
 .../2.8/plugins/consumer-restriction/index.html    |  8 +++----
 docs/apisix/2.8/plugins/cors/index.html            |  8 +++----
 docs/apisix/2.8/plugins/dubbo-proxy/index.html     |  8 +++----
 docs/apisix/2.8/plugins/echo/index.html            |  8 +++----
 .../apisix/2.8/plugins/error-log-logger/index.html |  8 +++----
 .../2.8/plugins/ext-plugin-post-req/index.html     |  8 +++----
 .../2.8/plugins/ext-plugin-pre-req/index.html      |  8 +++----
 docs/apisix/2.8/plugins/fault-injection/index.html |  8 +++----
 docs/apisix/2.8/plugins/grpc-transcode/index.html  |  8 +++----
 docs/apisix/2.8/plugins/gzip/index.html            |  8 +++----
 docs/apisix/2.8/plugins/hmac-auth/index.html       |  8 +++----
 docs/apisix/2.8/plugins/http-logger/index.html     |  8 +++----
 docs/apisix/2.8/plugins/index.html                 |  8 +++----
 docs/apisix/2.8/plugins/ip-restriction/index.html  |  8 +++----
 docs/apisix/2.8/plugins/jwt-auth/index.html        |  8 +++----
 docs/apisix/2.8/plugins/kafka-logger/index.html    |  8 +++----
 docs/apisix/2.8/plugins/key-auth/index.html        |  8 +++----
 docs/apisix/2.8/plugins/limit-conn/index.html      |  8 +++----
 docs/apisix/2.8/plugins/limit-count/index.html     |  8 +++----
 docs/apisix/2.8/plugins/limit-req/index.html       |  8 +++----
 docs/apisix/2.8/plugins/log-rotate/index.html      |  8 +++----
 docs/apisix/2.8/plugins/mqtt-proxy/index.html      |  8 +++----
 docs/apisix/2.8/plugins/node-status/index.html     |  8 +++----
 docs/apisix/2.8/plugins/openid-connect/index.html  |  8 +++----
 docs/apisix/2.8/plugins/prometheus/index.html      |  8 +++----
 docs/apisix/2.8/plugins/proxy-cache/index.html     |  8 +++----
 docs/apisix/2.8/plugins/proxy-mirror/index.html    |  8 +++----
 docs/apisix/2.8/plugins/proxy-rewrite/index.html   |  8 +++----
 docs/apisix/2.8/plugins/redirect/index.html        |  8 +++----
 .../2.8/plugins/referer-restriction/index.html     |  8 +++----
 docs/apisix/2.8/plugins/request-id/index.html      |  8 +++----
 .../2.8/plugins/request-validation/index.html      |  8 +++----
 .../apisix/2.8/plugins/response-rewrite/index.html |  8 +++----
 docs/apisix/2.8/plugins/server-info/index.html     |  8 +++----
 docs/apisix/2.8/plugins/serverless/index.html      |  8 +++----
 docs/apisix/2.8/plugins/skywalking/index.html      |  8 +++----
 docs/apisix/2.8/plugins/sls-logger/index.html      |  8 +++----
 docs/apisix/2.8/plugins/syslog/index.html          |  8 +++----
 docs/apisix/2.8/plugins/tcp-logger/index.html      |  8 +++----
 docs/apisix/2.8/plugins/traffic-split/index.html   |  8 +++----
 docs/apisix/2.8/plugins/ua-restriction/index.html  |  8 +++----
 docs/apisix/2.8/plugins/udp-logger/index.html      |  8 +++----
 docs/apisix/2.8/plugins/uri-blocker/index.html     |  8 +++----
 docs/apisix/2.8/plugins/wolf-rbac/index.html       |  8 +++----
 docs/apisix/2.8/plugins/zipkin/index.html          |  8 +++----
 docs/apisix/2.8/powered-by/index.html              |  8 +++----
 docs/apisix/2.8/profile/index.html                 |  8 +++----
 docs/apisix/2.8/router-radixtree/index.html        |  8 +++----
 docs/apisix/2.8/stand-alone/index.html             |  8 +++----
 docs/apisix/2.8/stream-proxy/index.html            |  8 +++----
 docs/apisix/2.8/tags/index.html                    |  8 +++----
 docs/apisix/2.9/FAQ/index.html                     |  8 +++----
 docs/apisix/2.9/IGNORE_DOC/index.html              |  8 +++----
 docs/apisix/2.9/admin-api/index.html               |  8 +++----
 .../2.9/architecture-design/apisix/index.html      |  8 +++----
 .../2.9/architecture-design/consumer/index.html    |  8 +++----
 .../2.9/architecture-design/debug-mode/index.html  |  8 +++----
 .../2.9/architecture-design/global-rule/index.html |  8 +++----
 docs/apisix/2.9/architecture-design/index.html     |  8 +++----
 .../architecture-design/plugin-config/index.html   |  8 +++----
 .../2.9/architecture-design/plugin/index.html      |  8 +++----
 .../2.9/architecture-design/route/index.html       |  8 +++----
 .../2.9/architecture-design/router/index.html      |  8 +++----
 .../2.9/architecture-design/script/index.html      |  8 +++----
 .../2.9/architecture-design/service/index.html     |  8 +++----
 .../2.9/architecture-design/upstream/index.html    |  8 +++----
 docs/apisix/2.9/aws/index.html                     |  8 +++----
 docs/apisix/2.9/batch-processor/index.html         |  8 +++----
 docs/apisix/2.9/benchmark/index.html               |  8 +++----
 docs/apisix/2.9/certificate/index.html             |  8 +++----
 docs/apisix/2.9/control-api/index.html             |  8 +++----
 .../2.9/customize-nginx-configuration/index.html   |  8 +++----
 docs/apisix/2.9/debug-function/index.html          |  8 +++----
 docs/apisix/2.9/discovery/consul_kv/index.html     |  8 +++----
 docs/apisix/2.9/discovery/dns/index.html           |  8 +++----
 docs/apisix/2.9/discovery/eureka/index.html        |  8 +++----
 docs/apisix/2.9/discovery/index.html               |  8 +++----
 docs/apisix/2.9/discovery/nacos/index.html         |  8 +++----
 docs/apisix/2.9/dns/index.html                     |  8 +++----
 .../index.html                                     |  8 +++----
 docs/apisix/2.9/external-plugin/index.html         |  8 +++----
 docs/apisix/2.9/getting-started/index.html         |  8 +++----
 docs/apisix/2.9/grpc-proxy/index.html              |  8 +++----
 docs/apisix/2.9/health-check/index.html            |  8 +++----
 docs/apisix/2.9/how-to-build/index.html            |  8 +++----
 docs/apisix/2.9/https/index.html                   |  8 +++----
 docs/apisix/2.9/install-dependencies/index.html    |  8 +++----
 .../2.9/internal/testing-framework/index.html      |  8 +++----
 docs/apisix/2.9/mtls/index.html                    |  8 +++----
 docs/apisix/2.9/plugin-develop/index.html          |  8 +++----
 docs/apisix/2.9/plugin-interceptors/index.html     |  8 +++----
 docs/apisix/2.9/plugins/api-breaker/index.html     |  8 +++----
 docs/apisix/2.9/plugins/authz-casbin/index.html    |  8 +++----
 docs/apisix/2.9/plugins/authz-keycloak/index.html  |  8 +++----
 docs/apisix/2.9/plugins/basic-auth/index.html      |  8 +++----
 docs/apisix/2.9/plugins/batch-requests/index.html  |  8 +++----
 docs/apisix/2.9/plugins/client-control/index.html  |  8 +++----
 .../2.9/plugins/consumer-restriction/index.html    |  8 +++----
 docs/apisix/2.9/plugins/cors/index.html            |  8 +++----
 docs/apisix/2.9/plugins/dubbo-proxy/index.html     |  8 +++----
 docs/apisix/2.9/plugins/echo/index.html            |  8 +++----
 .../apisix/2.9/plugins/error-log-logger/index.html |  8 +++----
 .../2.9/plugins/ext-plugin-post-req/index.html     |  8 +++----
 .../2.9/plugins/ext-plugin-pre-req/index.html      |  8 +++----
 docs/apisix/2.9/plugins/fault-injection/index.html |  8 +++----
 docs/apisix/2.9/plugins/grpc-transcode/index.html  |  8 +++----
 docs/apisix/2.9/plugins/gzip/index.html            |  8 +++----
 docs/apisix/2.9/plugins/hmac-auth/index.html       |  8 +++----
 docs/apisix/2.9/plugins/http-logger/index.html     |  8 +++----
 docs/apisix/2.9/plugins/index.html                 |  8 +++----
 docs/apisix/2.9/plugins/ip-restriction/index.html  |  8 +++----
 docs/apisix/2.9/plugins/jwt-auth/index.html        |  8 +++----
 docs/apisix/2.9/plugins/kafka-logger/index.html    |  8 +++----
 docs/apisix/2.9/plugins/key-auth/index.html        |  8 +++----
 docs/apisix/2.9/plugins/limit-conn/index.html      |  8 +++----
 docs/apisix/2.9/plugins/limit-count/index.html     |  8 +++----
 docs/apisix/2.9/plugins/limit-req/index.html       |  8 +++----
 docs/apisix/2.9/plugins/log-rotate/index.html      |  8 +++----
 docs/apisix/2.9/plugins/mqtt-proxy/index.html      |  8 +++----
 docs/apisix/2.9/plugins/node-status/index.html     |  8 +++----
 docs/apisix/2.9/plugins/openid-connect/index.html  |  8 +++----
 docs/apisix/2.9/plugins/prometheus/index.html      |  8 +++----
 docs/apisix/2.9/plugins/proxy-cache/index.html     |  8 +++----
 docs/apisix/2.9/plugins/proxy-mirror/index.html    |  8 +++----
 docs/apisix/2.9/plugins/proxy-rewrite/index.html   |  8 +++----
 docs/apisix/2.9/plugins/real-ip/index.html         |  8 +++----
 docs/apisix/2.9/plugins/redirect/index.html        |  8 +++----
 .../2.9/plugins/referer-restriction/index.html     |  8 +++----
 docs/apisix/2.9/plugins/request-id/index.html      |  8 +++----
 .../2.9/plugins/request-validation/index.html      |  8 +++----
 .../apisix/2.9/plugins/response-rewrite/index.html |  8 +++----
 docs/apisix/2.9/plugins/server-info/index.html     |  8 +++----
 docs/apisix/2.9/plugins/serverless/index.html      |  8 +++----
 docs/apisix/2.9/plugins/skywalking/index.html      |  8 +++----
 docs/apisix/2.9/plugins/sls-logger/index.html      |  8 +++----
 docs/apisix/2.9/plugins/syslog/index.html          |  8 +++----
 docs/apisix/2.9/plugins/tcp-logger/index.html      |  8 +++----
 docs/apisix/2.9/plugins/traffic-split/index.html   |  8 +++----
 docs/apisix/2.9/plugins/ua-restriction/index.html  |  8 +++----
 docs/apisix/2.9/plugins/udp-logger/index.html      |  8 +++----
 docs/apisix/2.9/plugins/uri-blocker/index.html     |  8 +++----
 docs/apisix/2.9/plugins/wolf-rbac/index.html       |  8 +++----
 docs/apisix/2.9/plugins/zipkin/index.html          |  8 +++----
 docs/apisix/2.9/powered-by/index.html              |  8 +++----
 docs/apisix/2.9/profile/index.html                 |  8 +++----
 docs/apisix/2.9/router-radixtree/index.html        |  8 +++----
 docs/apisix/2.9/stand-alone/index.html             |  8 +++----
 docs/apisix/2.9/stream-proxy/index.html            |  8 +++----
 docs/apisix/2.9/tags/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/internal/testing-framework/index.html  |  8 +++----
 docs/apisix/mtls/index.html                        |  8 +++----
 docs/apisix/next/FAQ/index.html                    |  8 +++----
 docs/apisix/next/IGNORE_DOC/index.html             | 10 ++++----
 docs/apisix/next/admin-api/index.html              |  8 +++----
 .../next/architecture-design/apisix/index.html     |  8 +++----
 .../next/architecture-design/consumer/index.html   |  8 +++----
 .../next/architecture-design/debug-mode/index.html |  8 +++----
 .../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 +++----
 .../next/internal/testing-framework/index.html     |  8 +++----
 docs/apisix/next/mtls/index.html                   |  8 +++----
 docs/apisix/next/plugin-develop/index.html         |  8 +++----
 docs/apisix/next/plugin-interceptors/index.html    |  8 +++----
 docs/apisix/next/plugins/api-breaker/index.html    |  8 +++----
 docs/apisix/next/plugins/authz-casbin/index.html   |  8 +++----
 docs/apisix/next/plugins/authz-keycloak/index.html |  8 +++----
 docs/apisix/next/plugins/aws-lambda/index.html     |  8 +++----
 .../apisix/next/plugins/azure-functions/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/datadog/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 +++----
 .../next/plugins/google-cloud-logging/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/ldap-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/openwhisk/index.html      |  8 +++----
 docs/apisix/next/plugins/prometheus/index.html     |  8 +++----
 docs/apisix/next/plugins/proxy-cache/index.html    |  8 +++----
 docs/apisix/next/plugins/proxy-mirror/index.html   |  8 +++----
 docs/apisix/next/plugins/proxy-rewrite/index.html  |  8 +++----
 docs/apisix/next/plugins/real-ip/index.html        |  8 +++----
 docs/apisix/next/plugins/redirect/index.html       |  8 +++----
 .../next/plugins/referer-restriction/index.html    |  8 +++----
 docs/apisix/next/plugins/request-id/index.html     |  8 +++----
 .../next/plugins/request-validation/index.html     |  8 +++----
 .../next/plugins/response-rewrite/index.html       |  8 +++----
 .../apisix/next/plugins/rocketmq-logger/index.html |  8 +++----
 docs/apisix/next/plugins/server-info/index.html    |  8 +++----
 docs/apisix/next/plugins/serverless/index.html     |  8 +++----
 .../next/plugins/skywalking-logger/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/next/tags/index.html                   |  8 +++----
 docs/apisix/next/wasm/index.html                   |  8 +++----
 docs/apisix/plugin-develop/index.html              |  8 +++----
 docs/apisix/plugin-interceptors/index.html         |  8 +++----
 docs/apisix/plugins/api-breaker/index.html         |  8 +++----
 docs/apisix/plugins/authz-casbin/index.html        |  8 +++----
 docs/apisix/plugins/authz-keycloak/index.html      |  8 +++----
 docs/apisix/plugins/azure-functions/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/datadog/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/ldap-auth/index.html           |  8 +++----
 docs/apisix/plugins/limit-conn/index.html          |  8 +++----
 docs/apisix/plugins/limit-count/index.html         |  8 +++----
 docs/apisix/plugins/limit-req/index.html           |  8 +++----
 docs/apisix/plugins/log-rotate/index.html          |  8 +++----
 docs/apisix/plugins/mqtt-proxy/index.html          |  8 +++----
 docs/apisix/plugins/node-status/index.html         |  8 +++----
 docs/apisix/plugins/openid-connect/index.html      |  8 +++----
 docs/apisix/plugins/prometheus/index.html          |  8 +++----
 docs/apisix/plugins/proxy-cache/index.html         |  8 +++----
 docs/apisix/plugins/proxy-mirror/index.html        |  8 +++----
 docs/apisix/plugins/proxy-rewrite/index.html       |  8 +++----
 docs/apisix/plugins/real-ip/index.html             |  8 +++----
 docs/apisix/plugins/redirect/index.html            |  8 +++----
 docs/apisix/plugins/referer-restriction/index.html |  8 +++----
 docs/apisix/plugins/request-id/index.html          |  8 +++----
 docs/apisix/plugins/request-validation/index.html  |  8 +++----
 docs/apisix/plugins/response-rewrite/index.html    |  8 +++----
 docs/apisix/plugins/server-info/index.html         |  8 +++----
 docs/apisix/plugins/serverless/index.html          |  8 +++----
 docs/apisix/plugins/skywalking-logger/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/apisix/tags/index.html                        |  8 +++----
 docs/apisix/wasm/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.5/tags/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.1/tags/index.html               |  8 +++----
 docs/dashboard/2.6/FAQ/index.html                  |  8 +++----
 docs/dashboard/2.6/I18N_USER_GUIDE/index.html      |  8 +++----
 docs/dashboard/2.6/IGNORE_DOC/index.html           |  8 +++----
 .../2.6/IMPORT_OPENAPI_USER_GUIDE/index.html       |  8 +++----
 docs/dashboard/2.6/USER_GUIDE/index.html           |  8 +++----
 docs/dashboard/2.6/api/api/index.html              |  8 +++----
 docs/dashboard/2.6/back-end-tests/index.html       |  8 +++----
 docs/dashboard/2.6/deploy-with-docker/index.html   |  8 +++----
 docs/dashboard/2.6/deploy-with-rpm/index.html      |  8 +++----
 docs/dashboard/2.6/deploy/index.html               |  8 +++----
 docs/dashboard/2.6/develop/index.html              |  8 +++----
 docs/dashboard/2.6/front-end-e2e/index.html        |  8 +++----
 docs/dashboard/2.6/tags/index.html                 |  8 +++----
 docs/dashboard/2.7.1/FAQ/index.html                |  8 +++----
 docs/dashboard/2.7.1/I18N_USER_GUIDE/index.html    |  8 +++----
 docs/dashboard/2.7.1/IGNORE_DOC/index.html         |  8 +++----
 .../2.7.1/IMPORT_OPENAPI_USER_GUIDE/index.html     |  8 +++----
 docs/dashboard/2.7.1/USER_GUIDE/index.html         |  8 +++----
 docs/dashboard/2.7.1/api/api/index.html            |  8 +++----
 docs/dashboard/2.7.1/back-end-tests/index.html     |  8 +++----
 docs/dashboard/2.7.1/deploy-with-docker/index.html |  8 +++----
 docs/dashboard/2.7.1/deploy-with-rpm/index.html    |  8 +++----
 docs/dashboard/2.7.1/deploy/index.html             |  8 +++----
 docs/dashboard/2.7.1/develop/index.html            |  8 +++----
 docs/dashboard/2.7.1/front-end-e2e/index.html      |  8 +++----
 docs/dashboard/2.7.1/tags/index.html               |  8 +++----
 docs/dashboard/2.7/FAQ/index.html                  |  8 +++----
 docs/dashboard/2.7/I18N_USER_GUIDE/index.html      |  8 +++----
 docs/dashboard/2.7/IGNORE_DOC/index.html           |  8 +++----
 .../2.7/IMPORT_OPENAPI_USER_GUIDE/index.html       |  8 +++----
 docs/dashboard/2.7/USER_GUIDE/index.html           |  8 +++----
 docs/dashboard/2.7/api/api/index.html              |  8 +++----
 docs/dashboard/2.7/back-end-tests/index.html       |  8 +++----
 docs/dashboard/2.7/deploy-with-docker/index.html   |  8 +++----
 docs/dashboard/2.7/deploy-with-rpm/index.html      |  8 +++----
 docs/dashboard/2.7/deploy/index.html               |  8 +++----
 docs/dashboard/2.7/develop/index.html              |  8 +++----
 docs/dashboard/2.7/front-end-e2e/index.html        |  8 +++----
 docs/dashboard/2.7/tags/index.html                 |  8 +++----
 docs/dashboard/2.8/FAQ/index.html                  |  8 +++----
 docs/dashboard/2.8/I18N_USER_GUIDE/index.html      |  8 +++----
 docs/dashboard/2.8/IGNORE_DOC/index.html           |  8 +++----
 .../2.8/IMPORT_OPENAPI_USER_GUIDE/index.html       |  8 +++----
 docs/dashboard/2.8/USER_GUIDE/index.html           |  8 +++----
 docs/dashboard/2.8/api/api/index.html              |  8 +++----
 docs/dashboard/2.8/back-end-tests/index.html       |  8 +++----
 docs/dashboard/2.8/deploy-with-docker/index.html   |  8 +++----
 docs/dashboard/2.8/deploy-with-rpm/index.html      |  8 +++----
 docs/dashboard/2.8/deploy/index.html               |  8 +++----
 docs/dashboard/2.8/develop/index.html              |  8 +++----
 docs/dashboard/2.8/front-end-e2e/index.html        |  8 +++----
 docs/dashboard/2.8/tags/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     |  8 +++----
 docs/dashboard/next/deploy/index.html              |  8 +++----
 docs/dashboard/next/develop/index.html             |  8 +++----
 docs/dashboard/next/front-end-e2e/index.html       |  8 +++----
 docs/dashboard/next/install/index.html             |  8 +++----
 docs/dashboard/next/tags/index.html                |  8 +++----
 docs/dashboard/tags/index.html                     |  8 +++----
 docs/docker/IGNORE_DOC/index.html                  |  8 +++----
 docs/docker/apisix-2.10.0/IGNORE_DOC/index.html    |  8 +++----
 docs/docker/apisix-2.10.0/build/index.html         |  8 +++----
 docs/docker/apisix-2.10.0/example/index.html       |  8 +++----
 docs/docker/apisix-2.10.0/manual/index.html        |  8 +++----
 docs/docker/apisix-2.10.0/tags/index.html          |  8 +++----
 docs/docker/apisix-2.10.1/IGNORE_DOC/index.html    |  8 +++----
 docs/docker/apisix-2.10.1/build/index.html         |  8 +++----
 docs/docker/apisix-2.10.1/example/index.html       |  8 +++----
 docs/docker/apisix-2.10.1/manual/index.html        |  8 +++----
 docs/docker/apisix-2.10.1/tags/index.html          |  8 +++----
 docs/docker/apisix-2.10.2/IGNORE_DOC/index.html    |  8 +++----
 docs/docker/apisix-2.10.2/build/index.html         |  8 +++----
 docs/docker/apisix-2.10.2/example/index.html       |  8 +++----
 docs/docker/apisix-2.10.2/manual/index.html        |  8 +++----
 docs/docker/apisix-2.10.2/tags/index.html          |  8 +++----
 docs/docker/apisix-2.9.0/IGNORE_DOC/index.html     |  8 +++----
 docs/docker/apisix-2.9.0/build/index.html          |  8 +++----
 docs/docker/apisix-2.9.0/example/index.html        |  8 +++----
 docs/docker/apisix-2.9.0/manual/index.html         |  8 +++----
 docs/docker/apisix-2.9.0/tags/index.html           |  8 +++----
 docs/docker/build/index.html                       |  8 +++----
 docs/docker/dashboard-2.7.1/IGNORE_DOC/index.html  |  8 +++----
 docs/docker/dashboard-2.7.1/build/index.html       |  8 +++----
 docs/docker/dashboard-2.7.1/example/index.html     |  8 +++----
 docs/docker/dashboard-2.7.1/manual/index.html      |  8 +++----
 docs/docker/dashboard-2.7.1/tags/index.html        |  8 +++----
 docs/docker/example/index.html                     |  8 +++----
 docs/docker/manual/index.html                      |  8 +++----
 docs/docker/next/IGNORE_DOC/index.html             | 10 ++++----
 docs/docker/next/build/index.html                  |  8 +++----
 docs/docker/next/example/index.html                |  8 +++----
 docs/docker/next/manual/index.html                 |  8 +++----
 docs/docker/next/tags/index.html                   |  8 +++----
 docs/docker/tags/index.html                        |  8 +++----
 docs/general/2fa/index.html                        | 10 ++++----
 docs/general/blog/index.html                       | 10 ++++----
 docs/general/committer-guide/index.html            | 10 ++++----
 docs/general/community/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/general/tags/index.html                       |  8 +++----
 docs/go-plugin-runner/0.1.0/IGNORE_DOC/index.html  |  8 +++----
 .../0.1.0/developer-guide/index.html               |  8 +++----
 .../0.1.0/getting-started/index.html               |  8 +++----
 docs/go-plugin-runner/0.1.0/tags/index.html        |  8 +++----
 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/go-plugin-runner/next/tags/index.html         |  8 +++----
 docs/go-plugin-runner/tags/index.html              |  8 +++----
 docs/helm-chart/FAQ/index.html                     |  8 +++----
 docs/helm-chart/IGNORE_DOC/index.html              | 10 ++++----
 docs/helm-chart/apisix-dashboard/index.html        |  8 +++----
 .../apisix-ingress-controller/index.html           |  8 +++----
 docs/helm-chart/apisix/index.html                  |  8 +++----
 docs/helm-chart/tags/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 +++----
 .../index.html                                     |  8 +++----
 .../index.html                                     |  8 +++----
 docs/ingress-controller/practices/mtls/index.html  |  8 +++----
 .../practices/proxy-grpc-service/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/ingress-controller/tags/index.html            |  8 +++----
 docs/ingress-controller/upgrade/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 +++----
 docs/java-plugin-runner/next/tags/index.html       |  8 +++----
 .../index.html                                     |  8 +++----
 docs/java-plugin-runner/tags/index.html            |  8 +++----
 .../index.html                                     |  8 +++----
 docs/python-plugin-runner/IGNORE_DOC/index.html    |  8 +++----
 .../developer-guide/index.html                     |  8 +++----
 .../getting-started/index.html                     |  8 +++----
 .../next/IGNORE_DOC/index.html                     | 10 ++++----
 .../next/developer-guide/index.html                |  8 +++----
 .../next/getting-started/index.html                |  8 +++----
 docs/python-plugin-runner/next/tags/index.html     |  8 +++----
 docs/python-plugin-runner/tags/index.html          |  8 +++----
 downloads/index.html                               |  8 +++----
 events/archive/index.html                          |  8 +++----
 help/index.html                                    |  8 +++----
 index.html                                         |  8 +++----
 plugins/index.html                                 |  8 +++----
 search/index.html                                  |  8 +++----
 sections/architecture/index.html                   |  8 +++----
 sections/benefits/index.html                       |  8 +++----
 sections/comparison/index.html                     |  8 +++----
 sections/components/arrowAnim/index.html           |  8 +++----
 sections/components/eventPosterCard/index.html     |  8 +++----
 sections/components/heroCanvas/index.html          |  8 +++----
 sections/components/ossCanvas/index.html           |  8 +++----
 sections/endcta/index.html                         |  8 +++----
 sections/features/index.html                       |  8 +++----
 sections/heroSection/index.html                    |  8 +++----
 sections/home-events-section/index.html            |  8 +++----
 sections/opensourcePromo/index.html                |  8 +++----
 showcase/index.html                                |  8 +++----
 sitemap.xml                                        |  5 ----
 team/index.html                                    |  8 +++----
 zh/404.html                                        |  8 +++----
 .../index.html                                     |  8 +++----
 .../index.html                                     | 12 +++++-----
 .../Apache-APISIX-Incubator-Journey/index.html     |  8 +++----
 .../Apache-APISIX-Kubernetes-Ingress/index.html    |  8 +++----
 .../Apache-APISIX-in-China-Mobile-Cloud/index.html | 12 +++++-----
 .../index.html                                     |  8 +++----
 .../index.html                                     |  8 +++----
 .../index.html                                     |  8 +++----
 .../Speed-Limiting-With-Apache-APISIX/index.html   |  8 +++----
 .../index.html                                     |  8 +++----
 zh/articles/The-Appeal-of-OpenSource/index.html    |  8 +++----
 .../The-Evolution-of-Apache-APISIX/index.html      |  8 +++----
 .../index.html                                     |  8 +++----
 zh/articles/archive/index.html                     |  8 +++----
 zh/articles/atom.xml                               |  6 ++---
 zh/articles/index.html                             | 10 ++++----
 zh/articles/page/2/index.html                      |  8 +++----
 zh/articles/rss.xml                                |  6 ++---
 zh/assets/js/01112930.61c4a898.js                  |  1 -
 zh/assets/js/01112930.c818d933.js                  |  1 +
 zh/assets/js/01632500.374053bb.js                  |  1 -
 zh/assets/js/01632500.3f0217e4.js                  |  1 +
 zh/assets/js/01640327.86ea4d36.js                  |  1 +
 zh/assets/js/01640327.f43b0611.js                  |  1 -
 zh/assets/js/03b491a1.548c4eba.js                  |  1 +
 zh/assets/js/03b491a1.ebc94479.js                  |  1 -
 zh/assets/js/09b17eb5.70e39032.js                  |  1 +
 zh/assets/js/09b17eb5.999c9c28.js                  |  1 -
 zh/assets/js/19945770.4dfbcce5.js                  |  1 -
 zh/assets/js/19945770.eebb6602.js                  |  1 +
 zh/assets/js/26d00f1b.155ce431.js                  |  1 -
 zh/assets/js/26d00f1b.dbf8318d.js                  |  1 +
 zh/assets/js/3393d167.65aa08ff.js                  |  1 +
 zh/assets/js/3393d167.cd098e11.js                  |  1 -
 zh/assets/js/358566b4.1b8d8e54.js                  |  1 +
 zh/assets/js/358566b4.40419dad.js                  |  1 -
 zh/assets/js/3a332aed.8a59dd68.js                  |  1 +
 zh/assets/js/3a332aed.e7e6e7c6.js                  |  1 -
 zh/assets/js/3dc9f306.18241d5c.js                  |  1 +
 zh/assets/js/3dc9f306.c5e56b44.js                  |  1 -
 zh/assets/js/3ea15b7a.8691557a.js                  |  1 +
 zh/assets/js/3ea15b7a.97e41a4e.js                  |  1 -
 zh/assets/js/40fb2fae.0a7ac2f2.js                  |  1 -
 zh/assets/js/40fb2fae.271d10b1.js                  |  1 +
 zh/assets/js/4c20006b.4b6ec9f7.js                  |  1 -
 zh/assets/js/4c20006b.aba80d3e.js                  |  1 +
 zh/assets/js/4f9f5708.632a910a.js                  |  1 +
 zh/assets/js/4f9f5708.887432a4.js                  |  1 -
 zh/assets/js/50facf8e.26dd6914.js                  |  1 -
 zh/assets/js/50facf8e.2ac1f67e.js                  |  1 +
 zh/assets/js/542fd41f.510c32a7.js                  |  1 +
 zh/assets/js/542fd41f.633a1cbc.js                  |  1 -
 zh/assets/js/5b0fa993.25c80d3e.js                  |  1 +
 zh/assets/js/5b0fa993.75f07904.js                  |  1 -
 zh/assets/js/601c6eaa.0fa6a69a.js                  |  1 +
 zh/assets/js/601c6eaa.7ae0ae18.js                  |  1 -
 zh/assets/js/6192341a.2ef1056b.js                  |  1 -
 zh/assets/js/6192341a.60b68e39.js                  |  1 +
 zh/assets/js/66fbb9c2.46c43a88.js                  |  1 +
 zh/assets/js/66fbb9c2.edfdea7a.js                  |  1 -
 zh/assets/js/77b5e1de.3ef74b82.js                  |  1 +
 zh/assets/js/77b5e1de.69c23f94.js                  |  1 -
 zh/assets/js/7af3052c.0dab7dd4.js                  |  1 -
 zh/assets/js/7af3052c.453c1351.js                  |  1 +
 zh/assets/js/7f0d3ffe.113e097c.js                  |  1 -
 zh/assets/js/80791de8.64f596e0.js                  |  1 -
 zh/assets/js/80791de8.95100c53.js                  |  1 +
 zh/assets/js/814f3328.ca77f464.js                  |  1 -
 zh/assets/js/814f3328.e6d5580f.js                  |  1 +
 zh/assets/js/8e784bf3.b31e4096.js                  |  1 -
 zh/assets/js/8e784bf3.f70889bf.js                  |  1 +
 zh/assets/js/8f700fa6.26a2c953.js                  |  1 -
 zh/assets/js/8f700fa6.ad8f5156.js                  |  1 +
 zh/assets/js/90fc8a94.650c20e1.js                  |  1 +
 zh/assets/js/90fc8a94.f090f664.js                  |  1 -
 zh/assets/js/927d70e2.d0df6125.js                  |  1 -
 zh/assets/js/927d70e2.fa852025.js                  |  1 +
 zh/assets/js/941960b1.282946e7.js                  |  1 -
 zh/assets/js/941960b1.9f8af06f.js                  |  1 +
 zh/assets/js/95058e22.6e01577b.js                  |  1 -
 zh/assets/js/95058e22.e8e32fb8.js                  |  1 +
 zh/assets/js/9af76256.57211c91.js                  |  1 -
 zh/assets/js/adbb350b.41af5433.js                  |  1 -
 zh/assets/js/adbb350b.72ef4e6e.js                  |  1 +
 zh/assets/js/bfb16af5.080c250b.js                  |  1 -
 zh/assets/js/bfb16af5.160a8333.js                  |  1 +
 zh/assets/js/d14629a4.29678066.js                  |  1 +
 zh/assets/js/d14629a4.718c44d5.js                  |  1 -
 zh/assets/js/d18db9b0.20076a9b.js                  |  1 -
 zh/assets/js/d18db9b0.70278e7f.js                  |  1 +
 zh/assets/js/f8686e54.3c62dbe7.js                  |  1 -
 zh/assets/js/f8686e54.f530eb8f.js                  |  1 +
 zh/assets/js/fbc846d0.edace5b2.js                  |  1 -
 zh/assets/js/fbc846d0.ef05c42a.js                  |  1 +
 zh/assets/js/main.3b05bb76.js                      |  2 --
 zh/assets/js/main.d1755748.js                      |  2 ++
 .../assets/js/main.d1755748.js.LICENSE.txt         |  0
 zh/assets/js/runtime~main.516f5f14.js              |  1 -
 zh/assets/js/runtime~main.d6aa4b99.js              |  1 +
 .../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 ++++----
 zh/blog/2021/05/24/Tencent-Games/index.html        | 10 ++++----
 .../05/25/Apache APISIX 2.6.0-Release/index.html   | 10 ++++----
 .../index.html                                     | 10 ++++----
 zh/blog/2021/06/06/apisix-two-years/index.html     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../06/28/why-we-need-Apache-APISIX/index.html     | 10 ++++----
 .../06/29/release-apache-apisix-2.7/index.html     | 10 ++++----
 .../etcd3-support-HTTP-access-perfectly/index.html | 10 ++++----
 .../07/06/celebrate-200-contributors/index.html    | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../2021/07/21/Apache-APISIX-Kubernetes/index.html | 10 ++++----
 zh/blog/2021/07/25/apachecon-asia/index.html       | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../07/28/release-apache-apisix-2.8/index.html     | 10 ++++----
 zh/blog/2021/08/05/Kong-to-APISIX/index.html       | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../Apache-APISIX-in-China-Mobile-Cloud/index.html | 10 ++++----
 .../08/09/Apache-APISIX-in-Quliankeji/index.html   | 10 ++++----
 zh/blog/2021/08/10/apisix-nginx/index.html         | 10 ++++----
 .../2021/08/11/interview-TuZhengsong/index.html    | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 10 ++++----
 zh/blog/2021/08/17/interview-airwallex/index.html  | 10 ++++----
 .../Auth-with-Casbin-in-Apache-APISIX/index.html   | 10 ++++----
 .../08/19/go-makes-Apache-APISIX-better/index.html | 10 ++++----
 zh/blog/2021/08/19/weekly-report/index.html        | 10 ++++----
 zh/blog/2021/08/21/shanghai-meetup/index.html      | 10 ++++----
 zh/blog/2021/08/23/ApacheCon-Asia-2021/index.html  | 10 ++++----
 zh/blog/2021/08/23/weekly-report/index.html        | 10 ++++----
 .../2021/08/24/shanghai-meetup-recap/index.html    | 10 ++++----
 .../Auth-with-Casbin-in-Apache-APISIX/index.html   | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../08/27/release-apache-apisix-2.9/index.html     | 10 ++++----
 zh/blog/2021/08/30/Ingress-Meeting/index.html      | 10 ++++----
 zh/blog/2021/08/30/weekly-report/index.html        | 10 ++++----
 .../index.html"                                    | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../2021/09/07/how-to-use-apisix-auth/index.html   | 10 ++++----
 zh/blog/2021/09/07/iQIYI-usercase/index.html       | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../09/13/china-mobile-cloud-usercase/index.html   | 10 ++++----
 zh/blog/2021/09/14/youzan/index.html               | 10 ++++----
 zh/blog/2021/09/15/weekly-report/index.html        | 10 ++++----
 zh/blog/2021/09/16/tencent-cloud/index.html        | 10 ++++----
 zh/blog/2021/09/18/xiaodian-usercase/index.html    | 10 ++++----
 zh/blog/2021/09/24/youpaicloud-usercase/index.html | 10 ++++----
 zh/blog/2021/09/28/WPS-usercase/index.html         | 10 ++++----
 .../09/29/release-apache-apisix-2.10/index.html    | 10 ++++----
 zh/blog/2021/09/30/weekly-report/index.html        | 10 ++++----
 zh/blog/2021/10/01/openEuler/index.html            | 10 ++++----
 .../2021/10/09/apisix-ingress-techblog/index.html  | 10 ++++----
 .../index.html                                     | 10 ++++----
 zh/blog/2021/10/14/weekly-report-1014/index.html   | 10 ++++----
 zh/blog/2021/10/18/meetup/index.html               | 10 ++++----
 .../2021/10/22/cert-manager-in-ingress/index.html  | 10 ++++----
 zh/blog/2021/10/26/APISIX-Ingress/index.html       | 10 ++++----
 zh/blog/2021/10/29/Extension-guide/index.html      | 10 ++++----
 zh/blog/2021/11/02/weekly-report-1031/index.html   | 10 ++++----
 zh/blog/2021/11/03/airwallex-usercase/index.html   | 10 ++++----
 zh/blog/2021/11/04/skywalking/index.html           | 10 ++++----
 zh/blog/2021/11/12/apisix-datadog/index.html       | 10 ++++----
 zh/blog/2021/11/16/weekly-report-1114/index.html   | 10 ++++----
 zh/blog/2021/11/17/dapr-with-apisix/index.html     | 10 ++++----
 zh/blog/2021/11/19/apisix-supports-wasm/index.html | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../23/cve-2021-43557-research-report/index.html   | 10 ++++----
 zh/blog/2021/11/23/cve-2021-43557/index.html       | 10 ++++----
 .../apache-apisix-committer-experience/index.html  | 10 ++++----
 .../30/use-apisix-ingress-in-kubesphere/index.html | 10 ++++----
 .../01/apisix-supports-azure-functions/index.html  | 10 ++++----
 zh/blog/2021/12/02/weekly-report-1130/index.html   | 10 ++++----
 .../apisix-integrate-skywalking-plugin/index.html  | 28 ----------------------
 zh/blog/archive/index.html                         | 10 ++++----
 zh/blog/atom.xml                                   | 13 +---------
 zh/blog/index.html                                 | 10 ++++----
 zh/blog/page/2/index.html                          | 10 ++++----
 zh/blog/page/3/index.html                          | 12 +++++-----
 zh/blog/page/4/index.html                          | 10 ++++----
 zh/blog/page/5/index.html                          | 10 ++++----
 zh/blog/page/6/index.html                          | 10 ++++----
 zh/blog/page/7/index.html                          | 10 ++++----
 zh/blog/page/8/index.html                          | 10 ++++----
 zh/blog/page/9/index.html                          | 10 ++++----
 zh/blog/rss.xml                                    |  9 +------
 zh/blog/tags/community/index.html                  | 10 ++++----
 zh/blog/tags/events/index.html                     | 10 ++++----
 zh/blog/tags/index.html                            | 10 ++++----
 zh/blog/tags/interview/index.html                  | 10 ++++----
 zh/blog/tags/practical-case/index.html             | 10 ++++----
 zh/blog/tags/release/index.html                    | 10 ++++----
 zh/blog/tags/security/index.html                   | 10 ++++----
 zh/blog/tags/technology/index.html                 | 10 ++++----
 zh/blog/tags/user-case/index.html                  | 10 ++++----
 zh/contribute/ContributeCard/index.html            |  8 +++----
 zh/contribute/index.html                           |  8 +++----
 zh/docs/apisix/2.10/FAQ/index.html                 |  8 +++----
 zh/docs/apisix/2.10/IGNORE_DOC/index.html          |  8 +++----
 zh/docs/apisix/2.10/admin-api/index.html           |  8 +++----
 .../2.10/architecture-design/apisix/index.html     |  8 +++----
 .../2.10/architecture-design/consumer/index.html   |  8 +++----
 .../2.10/architecture-design/debug-mode/index.html |  8 +++----
 .../architecture-design/global-rule/index.html     |  8 +++----
 zh/docs/apisix/2.10/architecture-design/index.html |  8 +++----
 .../architecture-design/plugin-config/index.html   |  8 +++----
 .../2.10/architecture-design/plugin/index.html     |  8 +++----
 .../2.10/architecture-design/route/index.html      |  8 +++----
 .../2.10/architecture-design/router/index.html     |  8 +++----
 .../2.10/architecture-design/script/index.html     |  8 +++----
 .../2.10/architecture-design/service/index.html    |  8 +++----
 .../2.10/architecture-design/upstream/index.html   |  8 +++----
 zh/docs/apisix/2.10/aws/index.html                 |  8 +++----
 zh/docs/apisix/2.10/batch-processor/index.html     |  8 +++----
 zh/docs/apisix/2.10/benchmark/index.html           |  8 +++----
 zh/docs/apisix/2.10/certificate/index.html         |  8 +++----
 zh/docs/apisix/2.10/control-api/index.html         |  8 +++----
 .../2.10/customize-nginx-configuration/index.html  |  8 +++----
 zh/docs/apisix/2.10/debug-function/index.html      |  8 +++----
 zh/docs/apisix/2.10/discovery/consul_kv/index.html |  8 +++----
 zh/docs/apisix/2.10/discovery/dns/index.html       |  8 +++----
 zh/docs/apisix/2.10/discovery/eureka/index.html    |  8 +++----
 zh/docs/apisix/2.10/discovery/index.html           |  8 +++----
 zh/docs/apisix/2.10/discovery/nacos/index.html     |  8 +++----
 zh/docs/apisix/2.10/dns/index.html                 |  8 +++----
 .../index.html                                     |  8 +++----
 zh/docs/apisix/2.10/external-plugin/index.html     |  8 +++----
 zh/docs/apisix/2.10/getting-started/index.html     |  8 +++----
 zh/docs/apisix/2.10/grpc-proxy/index.html          |  8 +++----
 zh/docs/apisix/2.10/health-check/index.html        |  8 +++----
 zh/docs/apisix/2.10/how-to-build/index.html        |  8 +++----
 zh/docs/apisix/2.10/https/index.html               |  8 +++----
 .../apisix/2.10/install-dependencies/index.html    |  8 +++----
 .../2.10/internal/testing-framework/index.html     |  8 +++----
 zh/docs/apisix/2.10/mtls/index.html                |  8 +++----
 zh/docs/apisix/2.10/plugin-develop/index.html      |  8 +++----
 zh/docs/apisix/2.10/plugin-interceptors/index.html |  8 +++----
 zh/docs/apisix/2.10/plugins/api-breaker/index.html |  8 +++----
 .../apisix/2.10/plugins/authz-casbin/index.html    |  8 +++----
 .../apisix/2.10/plugins/authz-keycloak/index.html  |  8 +++----
 zh/docs/apisix/2.10/plugins/basic-auth/index.html  |  8 +++----
 .../apisix/2.10/plugins/batch-requests/index.html  |  8 +++----
 .../apisix/2.10/plugins/client-control/index.html  |  8 +++----
 .../2.10/plugins/consumer-restriction/index.html   |  8 +++----
 zh/docs/apisix/2.10/plugins/cors/index.html        |  8 +++----
 zh/docs/apisix/2.10/plugins/dubbo-proxy/index.html |  8 +++----
 zh/docs/apisix/2.10/plugins/echo/index.html        |  8 +++----
 .../2.10/plugins/error-log-logger/index.html       |  8 +++----
 .../2.10/plugins/ext-plugin-post-req/index.html    |  8 +++----
 .../2.10/plugins/ext-plugin-pre-req/index.html     |  8 +++----
 .../apisix/2.10/plugins/fault-injection/index.html |  8 +++----
 .../apisix/2.10/plugins/grpc-transcode/index.html  |  8 +++----
 zh/docs/apisix/2.10/plugins/gzip/index.html        |  8 +++----
 zh/docs/apisix/2.10/plugins/hmac-auth/index.html   |  8 +++----
 zh/docs/apisix/2.10/plugins/http-logger/index.html |  8 +++----
 zh/docs/apisix/2.10/plugins/index.html             |  8 +++----
 .../apisix/2.10/plugins/ip-restriction/index.html  |  8 +++----
 zh/docs/apisix/2.10/plugins/jwt-auth/index.html    |  8 +++----
 .../apisix/2.10/plugins/kafka-logger/index.html    |  8 +++----
 zh/docs/apisix/2.10/plugins/key-auth/index.html    |  8 +++----
 zh/docs/apisix/2.10/plugins/limit-conn/index.html  |  8 +++----
 zh/docs/apisix/2.10/plugins/limit-count/index.html |  8 +++----
 zh/docs/apisix/2.10/plugins/limit-req/index.html   |  8 +++----
 zh/docs/apisix/2.10/plugins/log-rotate/index.html  |  8 +++----
 zh/docs/apisix/2.10/plugins/mqtt-proxy/index.html  |  8 +++----
 zh/docs/apisix/2.10/plugins/node-status/index.html |  8 +++----
 .../apisix/2.10/plugins/openid-connect/index.html  |  8 +++----
 zh/docs/apisix/2.10/plugins/prometheus/index.html  |  8 +++----
 zh/docs/apisix/2.10/plugins/proxy-cache/index.html |  8 +++----
 .../apisix/2.10/plugins/proxy-mirror/index.html    |  8 +++----
 .../apisix/2.10/plugins/proxy-rewrite/index.html   |  8 +++----
 zh/docs/apisix/2.10/plugins/real-ip/index.html     |  8 +++----
 zh/docs/apisix/2.10/plugins/redirect/index.html    |  8 +++----
 .../2.10/plugins/referer-restriction/index.html    |  8 +++----
 zh/docs/apisix/2.10/plugins/request-id/index.html  |  8 +++----
 .../2.10/plugins/request-validation/index.html     |  8 +++----
 .../2.10/plugins/response-rewrite/index.html       |  8 +++----
 zh/docs/apisix/2.10/plugins/server-info/index.html |  8 +++----
 zh/docs/apisix/2.10/plugins/serverless/index.html  |  8 +++----
 zh/docs/apisix/2.10/plugins/skywalking/index.html  |  8 +++----
 zh/docs/apisix/2.10/plugins/sls-logger/index.html  |  8 +++----
 zh/docs/apisix/2.10/plugins/syslog/index.html      |  8 +++----
 zh/docs/apisix/2.10/plugins/tcp-logger/index.html  |  8 +++----
 .../apisix/2.10/plugins/traffic-split/index.html   |  8 +++----
 .../apisix/2.10/plugins/ua-restriction/index.html  |  8 +++----
 zh/docs/apisix/2.10/plugins/udp-logger/index.html  |  8 +++----
 zh/docs/apisix/2.10/plugins/uri-blocker/index.html |  8 +++----
 zh/docs/apisix/2.10/plugins/wolf-rbac/index.html   |  8 +++----
 zh/docs/apisix/2.10/plugins/zipkin/index.html      |  8 +++----
 zh/docs/apisix/2.10/powered-by/index.html          |  8 +++----
 zh/docs/apisix/2.10/profile/index.html             |  8 +++----
 zh/docs/apisix/2.10/router-radixtree/index.html    |  8 +++----
 zh/docs/apisix/2.10/stand-alone/index.html         |  8 +++----
 zh/docs/apisix/2.10/stream-proxy/index.html        |  8 +++----
 zh/docs/apisix/2.10/tags/index.html                |  8 +++----
 zh/docs/apisix/2.4/FAQ/index.html                  |  8 +++----
 zh/docs/apisix/2.4/IGNORE_DOC/index.html           |  8 +++----
 zh/docs/apisix/2.4/admin-api/index.html            |  8 +++----
 zh/docs/apisix/2.4/architecture-design/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.4/tags/index.html                 |  8 +++----
 zh/docs/apisix/2.5/FAQ/index.html                  |  8 +++----
 zh/docs/apisix/2.5/IGNORE_DOC/index.html           |  8 +++----
 zh/docs/apisix/2.5/admin-api/index.html            |  8 +++----
 .../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.5/tags/index.html                 |  8 +++----
 zh/docs/apisix/2.6/FAQ/index.html                  |  8 +++----
 zh/docs/apisix/2.6/IGNORE_DOC/index.html           |  8 +++----
 zh/docs/apisix/2.6/admin-api/index.html            |  8 +++----
 .../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.6/tags/index.html                 |  8 +++----
 zh/docs/apisix/2.7/FAQ/index.html                  |  8 +++----
 zh/docs/apisix/2.7/IGNORE_DOC/index.html           |  8 +++----
 zh/docs/apisix/2.7/admin-api/index.html            |  8 +++----
 .../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/2.7/tags/index.html                 |  8 +++----
 zh/docs/apisix/2.8/FAQ/index.html                  |  8 +++----
 zh/docs/apisix/2.8/IGNORE_DOC/index.html           |  8 +++----
 zh/docs/apisix/2.8/admin-api/index.html            |  8 +++----
 .../2.8/architecture-design/apisix/index.html      |  8 +++----
 .../2.8/architecture-design/consumer/index.html    |  8 +++----
 .../2.8/architecture-design/debug-mode/index.html  |  8 +++----
 .../2.8/architecture-design/global-rule/index.html |  8 +++----
 zh/docs/apisix/2.8/architecture-design/index.html  |  8 +++----
 .../architecture-design/plugin-config/index.html   |  8 +++----
 .../2.8/architecture-design/plugin/index.html      |  8 +++----
 .../2.8/architecture-design/route/index.html       |  8 +++----
 .../2.8/architecture-design/router/index.html      |  8 +++----
 .../2.8/architecture-design/script/index.html      |  8 +++----
 .../2.8/architecture-design/service/index.html     |  8 +++----
 .../2.8/architecture-design/upstream/index.html    |  8 +++----
 zh/docs/apisix/2.8/aws/index.html                  |  8 +++----
 zh/docs/apisix/2.8/batch-processor/index.html      |  8 +++----
 zh/docs/apisix/2.8/benchmark/index.html            |  8 +++----
 zh/docs/apisix/2.8/certificate/index.html          |  8 +++----
 zh/docs/apisix/2.8/control-api/index.html          |  8 +++----
 .../2.8/customize-nginx-configuration/index.html   |  8 +++----
 zh/docs/apisix/2.8/debug-function/index.html       |  8 +++----
 zh/docs/apisix/2.8/discovery/consul_kv/index.html  |  8 +++----
 zh/docs/apisix/2.8/discovery/dns/index.html        |  8 +++----
 zh/docs/apisix/2.8/discovery/eureka/index.html     |  8 +++----
 zh/docs/apisix/2.8/discovery/index.html            |  8 +++----
 zh/docs/apisix/2.8/discovery/nacos/index.html      |  8 +++----
 zh/docs/apisix/2.8/dns/index.html                  |  8 +++----
 .../index.html                                     |  8 +++----
 zh/docs/apisix/2.8/external-plugin/index.html      |  8 +++----
 zh/docs/apisix/2.8/getting-started/index.html      |  8 +++----
 zh/docs/apisix/2.8/grpc-proxy/index.html           |  8 +++----
 zh/docs/apisix/2.8/health-check/index.html         |  8 +++----
 zh/docs/apisix/2.8/how-to-build/index.html         |  8 +++----
 zh/docs/apisix/2.8/https/index.html                |  8 +++----
 zh/docs/apisix/2.8/install-dependencies/index.html |  8 +++----
 zh/docs/apisix/2.8/mtls/index.html                 |  8 +++----
 zh/docs/apisix/2.8/plugin-develop/index.html       |  8 +++----
 zh/docs/apisix/2.8/plugin-interceptors/index.html  |  8 +++----
 zh/docs/apisix/2.8/plugins/api-breaker/index.html  |  8 +++----
 .../apisix/2.8/plugins/authz-keycloak/index.html   |  8 +++----
 zh/docs/apisix/2.8/plugins/basic-auth/index.html   |  8 +++----
 .../apisix/2.8/plugins/batch-requests/index.html   |  8 +++----
 .../apisix/2.8/plugins/client-control/index.html   |  8 +++----
 .../2.8/plugins/consumer-restriction/index.html    |  8 +++----
 zh/docs/apisix/2.8/plugins/cors/index.html         |  8 +++----
 zh/docs/apisix/2.8/plugins/dubbo-proxy/index.html  |  8 +++----
 zh/docs/apisix/2.8/plugins/echo/index.html         |  8 +++----
 .../apisix/2.8/plugins/error-log-logger/index.html |  8 +++----
 .../2.8/plugins/ext-plugin-post-req/index.html     |  8 +++----
 .../2.8/plugins/ext-plugin-pre-req/index.html      |  8 +++----
 .../apisix/2.8/plugins/fault-injection/index.html  |  8 +++----
 .../apisix/2.8/plugins/grpc-transcode/index.html   |  8 +++----
 zh/docs/apisix/2.8/plugins/gzip/index.html         |  8 +++----
 zh/docs/apisix/2.8/plugins/hmac-auth/index.html    |  8 +++----
 zh/docs/apisix/2.8/plugins/http-logger/index.html  |  8 +++----
 zh/docs/apisix/2.8/plugins/index.html              |  8 +++----
 .../apisix/2.8/plugins/ip-restriction/index.html   |  8 +++----
 zh/docs/apisix/2.8/plugins/jwt-auth/index.html     |  8 +++----
 zh/docs/apisix/2.8/plugins/kafka-logger/index.html |  8 +++----
 zh/docs/apisix/2.8/plugins/key-auth/index.html     |  8 +++----
 zh/docs/apisix/2.8/plugins/limit-conn/index.html   |  8 +++----
 zh/docs/apisix/2.8/plugins/limit-count/index.html  |  8 +++----
 zh/docs/apisix/2.8/plugins/limit-req/index.html    |  8 +++----
 zh/docs/apisix/2.8/plugins/log-rotate/index.html   |  8 +++----
 zh/docs/apisix/2.8/plugins/mqtt-proxy/index.html   |  8 +++----
 zh/docs/apisix/2.8/plugins/node-status/index.html  |  8 +++----
 .../apisix/2.8/plugins/openid-connect/index.html   |  8 +++----
 zh/docs/apisix/2.8/plugins/prometheus/index.html   |  8 +++----
 zh/docs/apisix/2.8/plugins/proxy-cache/index.html  |  8 +++----
 zh/docs/apisix/2.8/plugins/proxy-mirror/index.html |  8 +++----
 .../apisix/2.8/plugins/proxy-rewrite/index.html    |  8 +++----
 zh/docs/apisix/2.8/plugins/redirect/index.html     |  8 +++----
 .../2.8/plugins/referer-restriction/index.html     |  8 +++----
 zh/docs/apisix/2.8/plugins/request-id/index.html   |  8 +++----
 .../2.8/plugins/request-validation/index.html      |  8 +++----
 .../apisix/2.8/plugins/response-rewrite/index.html |  8 +++----
 zh/docs/apisix/2.8/plugins/server-info/index.html  |  8 +++----
 zh/docs/apisix/2.8/plugins/serverless/index.html   |  8 +++----
 zh/docs/apisix/2.8/plugins/skywalking/index.html   |  8 +++----
 zh/docs/apisix/2.8/plugins/sls-logger/index.html   |  8 +++----
 zh/docs/apisix/2.8/plugins/syslog/index.html       |  8 +++----
 zh/docs/apisix/2.8/plugins/tcp-logger/index.html   |  8 +++----
 .../apisix/2.8/plugins/traffic-split/index.html    |  8 +++----
 .../apisix/2.8/plugins/ua-restriction/index.html   |  8 +++----
 zh/docs/apisix/2.8/plugins/udp-logger/index.html   |  8 +++----
 zh/docs/apisix/2.8/plugins/uri-blocker/index.html  |  8 +++----
 zh/docs/apisix/2.8/plugins/wolf-rbac/index.html    |  8 +++----
 zh/docs/apisix/2.8/plugins/zipkin/index.html       |  8 +++----
 zh/docs/apisix/2.8/powered-by/index.html           |  8 +++----
 zh/docs/apisix/2.8/profile/index.html              |  8 +++----
 zh/docs/apisix/2.8/router-radixtree/index.html     |  8 +++----
 zh/docs/apisix/2.8/stand-alone/index.html          |  8 +++----
 zh/docs/apisix/2.8/stream-proxy/index.html         |  8 +++----
 zh/docs/apisix/2.8/tags/index.html                 |  8 +++----
 zh/docs/apisix/2.9/FAQ/index.html                  |  8 +++----
 zh/docs/apisix/2.9/IGNORE_DOC/index.html           |  8 +++----
 zh/docs/apisix/2.9/admin-api/index.html            |  8 +++----
 .../2.9/architecture-design/apisix/index.html      |  8 +++----
 .../2.9/architecture-design/consumer/index.html    |  8 +++----
 .../2.9/architecture-design/debug-mode/index.html  |  8 +++----
 .../2.9/architecture-design/global-rule/index.html |  8 +++----
 zh/docs/apisix/2.9/architecture-design/index.html  |  8 +++----
 .../architecture-design/plugin-config/index.html   |  8 +++----
 .../2.9/architecture-design/plugin/index.html      |  8 +++----
 .../2.9/architecture-design/route/index.html       |  8 +++----
 .../2.9/architecture-design/router/index.html      |  8 +++----
 .../2.9/architecture-design/script/index.html      |  8 +++----
 .../2.9/architecture-design/service/index.html     |  8 +++----
 .../2.9/architecture-design/upstream/index.html    |  8 +++----
 zh/docs/apisix/2.9/aws/index.html                  |  8 +++----
 zh/docs/apisix/2.9/batch-processor/index.html      |  8 +++----
 zh/docs/apisix/2.9/benchmark/index.html            |  8 +++----
 zh/docs/apisix/2.9/certificate/index.html          |  8 +++----
 zh/docs/apisix/2.9/control-api/index.html          |  8 +++----
 .../2.9/customize-nginx-configuration/index.html   |  8 +++----
 zh/docs/apisix/2.9/debug-function/index.html       |  8 +++----
 zh/docs/apisix/2.9/discovery/consul_kv/index.html  |  8 +++----
 zh/docs/apisix/2.9/discovery/dns/index.html        |  8 +++----
 zh/docs/apisix/2.9/discovery/eureka/index.html     |  8 +++----
 zh/docs/apisix/2.9/discovery/index.html            |  8 +++----
 zh/docs/apisix/2.9/discovery/nacos/index.html      |  8 +++----
 zh/docs/apisix/2.9/dns/index.html                  |  8 +++----
 .../index.html                                     |  8 +++----
 zh/docs/apisix/2.9/external-plugin/index.html      |  8 +++----
 zh/docs/apisix/2.9/getting-started/index.html      |  8 +++----
 zh/docs/apisix/2.9/grpc-proxy/index.html           |  8 +++----
 zh/docs/apisix/2.9/health-check/index.html         |  8 +++----
 zh/docs/apisix/2.9/how-to-build/index.html         |  8 +++----
 zh/docs/apisix/2.9/https/index.html                |  8 +++----
 zh/docs/apisix/2.9/install-dependencies/index.html |  8 +++----
 .../2.9/internal/testing-framework/index.html      |  8 +++----
 zh/docs/apisix/2.9/mtls/index.html                 |  8 +++----
 zh/docs/apisix/2.9/plugin-develop/index.html       |  8 +++----
 zh/docs/apisix/2.9/plugin-interceptors/index.html  |  8 +++----
 zh/docs/apisix/2.9/plugins/api-breaker/index.html  |  8 +++----
 zh/docs/apisix/2.9/plugins/authz-casbin/index.html |  8 +++----
 .../apisix/2.9/plugins/authz-keycloak/index.html   |  8 +++----
 zh/docs/apisix/2.9/plugins/basic-auth/index.html   |  8 +++----
 .../apisix/2.9/plugins/batch-requests/index.html   |  8 +++----
 .../apisix/2.9/plugins/client-control/index.html   |  8 +++----
 .../2.9/plugins/consumer-restriction/index.html    |  8 +++----
 zh/docs/apisix/2.9/plugins/cors/index.html         |  8 +++----
 zh/docs/apisix/2.9/plugins/dubbo-proxy/index.html  |  8 +++----
 zh/docs/apisix/2.9/plugins/echo/index.html         |  8 +++----
 .../apisix/2.9/plugins/error-log-logger/index.html |  8 +++----
 .../2.9/plugins/ext-plugin-post-req/index.html     |  8 +++----
 .../2.9/plugins/ext-plugin-pre-req/index.html      |  8 +++----
 .../apisix/2.9/plugins/fault-injection/index.html  |  8 +++----
 .../apisix/2.9/plugins/grpc-transcode/index.html   |  8 +++----
 zh/docs/apisix/2.9/plugins/gzip/index.html         |  8 +++----
 zh/docs/apisix/2.9/plugins/hmac-auth/index.html    |  8 +++----
 zh/docs/apisix/2.9/plugins/http-logger/index.html  |  8 +++----
 zh/docs/apisix/2.9/plugins/index.html              |  8 +++----
 .../apisix/2.9/plugins/ip-restriction/index.html   |  8 +++----
 zh/docs/apisix/2.9/plugins/jwt-auth/index.html     |  8 +++----
 zh/docs/apisix/2.9/plugins/kafka-logger/index.html |  8 +++----
 zh/docs/apisix/2.9/plugins/key-auth/index.html     |  8 +++----
 zh/docs/apisix/2.9/plugins/limit-conn/index.html   |  8 +++----
 zh/docs/apisix/2.9/plugins/limit-count/index.html  |  8 +++----
 zh/docs/apisix/2.9/plugins/limit-req/index.html    |  8 +++----
 zh/docs/apisix/2.9/plugins/log-rotate/index.html   |  8 +++----
 zh/docs/apisix/2.9/plugins/mqtt-proxy/index.html   |  8 +++----
 zh/docs/apisix/2.9/plugins/node-status/index.html  |  8 +++----
 .../apisix/2.9/plugins/openid-connect/index.html   |  8 +++----
 zh/docs/apisix/2.9/plugins/prometheus/index.html   |  8 +++----
 zh/docs/apisix/2.9/plugins/proxy-cache/index.html  |  8 +++----
 zh/docs/apisix/2.9/plugins/proxy-mirror/index.html |  8 +++----
 .../apisix/2.9/plugins/proxy-rewrite/index.html    |  8 +++----
 zh/docs/apisix/2.9/plugins/real-ip/index.html      |  8 +++----
 zh/docs/apisix/2.9/plugins/redirect/index.html     |  8 +++----
 .../2.9/plugins/referer-restriction/index.html     |  8 +++----
 zh/docs/apisix/2.9/plugins/request-id/index.html   |  8 +++----
 .../2.9/plugins/request-validation/index.html      |  8 +++----
 .../apisix/2.9/plugins/response-rewrite/index.html |  8 +++----
 zh/docs/apisix/2.9/plugins/server-info/index.html  |  8 +++----
 zh/docs/apisix/2.9/plugins/serverless/index.html   |  8 +++----
 zh/docs/apisix/2.9/plugins/skywalking/index.html   |  8 +++----
 zh/docs/apisix/2.9/plugins/sls-logger/index.html   |  8 +++----
 zh/docs/apisix/2.9/plugins/syslog/index.html       |  8 +++----
 zh/docs/apisix/2.9/plugins/tcp-logger/index.html   |  8 +++----
 .../apisix/2.9/plugins/traffic-split/index.html    |  8 +++----
 .../apisix/2.9/plugins/ua-restriction/index.html   |  8 +++----
 zh/docs/apisix/2.9/plugins/udp-logger/index.html   |  8 +++----
 zh/docs/apisix/2.9/plugins/uri-blocker/index.html  |  8 +++----
 zh/docs/apisix/2.9/plugins/wolf-rbac/index.html    |  8 +++----
 zh/docs/apisix/2.9/plugins/zipkin/index.html       |  8 +++----
 zh/docs/apisix/2.9/powered-by/index.html           |  8 +++----
 zh/docs/apisix/2.9/profile/index.html              |  8 +++----
 zh/docs/apisix/2.9/router-radixtree/index.html     |  8 +++----
 zh/docs/apisix/2.9/stand-alone/index.html          |  8 +++----
 zh/docs/apisix/2.9/stream-proxy/index.html         |  8 +++----
 zh/docs/apisix/2.9/tags/index.html                 |  8 +++----
 zh/docs/apisix/FAQ/index.html                      |  8 +++----
 zh/docs/apisix/IGNORE_DOC/index.html               |  8 +++----
 zh/docs/apisix/admin-api/index.html                |  8 +++----
 .../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 +++----
 .../apisix/internal/testing-framework/index.html   |  8 +++----
 zh/docs/apisix/mtls/index.html                     |  8 +++----
 zh/docs/apisix/next/FAQ/index.html                 |  8 +++----
 zh/docs/apisix/next/IGNORE_DOC/index.html          | 10 ++++----
 zh/docs/apisix/next/admin-api/index.html           |  8 +++----
 .../next/architecture-design/apisix/index.html     |  8 +++----
 .../next/architecture-design/consumer/index.html   |  8 +++----
 .../next/architecture-design/debug-mode/index.html |  8 +++----
 .../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 +++----
 .../next/internal/testing-framework/index.html     |  8 +++----
 zh/docs/apisix/next/mtls/index.html                |  8 +++----
 zh/docs/apisix/next/plugin-develop/index.html      |  8 +++----
 zh/docs/apisix/next/plugin-interceptors/index.html |  8 +++----
 zh/docs/apisix/next/plugins/api-breaker/index.html |  8 +++----
 .../apisix/next/plugins/authz-casbin/index.html    |  8 +++----
 .../apisix/next/plugins/authz-keycloak/index.html  |  8 +++----
 zh/docs/apisix/next/plugins/aws-lambda/index.html  |  8 +++----
 .../apisix/next/plugins/azure-functions/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/datadog/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 +++----
 .../next/plugins/google-cloud-logging/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/ldap-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/openwhisk/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/real-ip/index.html     |  8 +++----
 zh/docs/apisix/next/plugins/redirect/index.html    |  8 +++----
 .../next/plugins/referer-restriction/index.html    |  8 +++----
 zh/docs/apisix/next/plugins/request-id/index.html  |  8 +++----
 .../next/plugins/request-validation/index.html     |  8 +++----
 .../next/plugins/response-rewrite/index.html       |  8 +++----
 .../apisix/next/plugins/rocketmq-logger/index.html |  8 +++----
 zh/docs/apisix/next/plugins/server-info/index.html |  8 +++----
 zh/docs/apisix/next/plugins/serverless/index.html  |  8 +++----
 .../next/plugins/skywalking-logger/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/next/tags/index.html                |  8 +++----
 zh/docs/apisix/next/wasm/index.html                |  8 +++----
 zh/docs/apisix/plugin-develop/index.html           |  8 +++----
 zh/docs/apisix/plugin-interceptors/index.html      |  8 +++----
 zh/docs/apisix/plugins/api-breaker/index.html      |  8 +++----
 zh/docs/apisix/plugins/authz-casbin/index.html     |  8 +++----
 zh/docs/apisix/plugins/authz-keycloak/index.html   |  8 +++----
 zh/docs/apisix/plugins/azure-functions/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/datadog/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/ldap-auth/index.html        |  8 +++----
 zh/docs/apisix/plugins/limit-conn/index.html       |  8 +++----
 zh/docs/apisix/plugins/limit-count/index.html      |  8 +++----
 zh/docs/apisix/plugins/limit-req/index.html        |  8 +++----
 zh/docs/apisix/plugins/log-rotate/index.html       |  8 +++----
 zh/docs/apisix/plugins/mqtt-proxy/index.html       |  8 +++----
 zh/docs/apisix/plugins/node-status/index.html      |  8 +++----
 zh/docs/apisix/plugins/openid-connect/index.html   |  8 +++----
 zh/docs/apisix/plugins/prometheus/index.html       |  8 +++----
 zh/docs/apisix/plugins/proxy-cache/index.html      |  8 +++----
 zh/docs/apisix/plugins/proxy-mirror/index.html     |  8 +++----
 zh/docs/apisix/plugins/proxy-rewrite/index.html    |  8 +++----
 zh/docs/apisix/plugins/real-ip/index.html          |  8 +++----
 zh/docs/apisix/plugins/redirect/index.html         |  8 +++----
 .../apisix/plugins/referer-restriction/index.html  |  8 +++----
 zh/docs/apisix/plugins/request-id/index.html       |  8 +++----
 .../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 +++----
 .../apisix/plugins/skywalking-logger/index.html    |  8 +++----
 zh/docs/apisix/plugins/skywalking/index.html       |  8 +++----
 zh/docs/apisix/plugins/sls-logger/index.html       |  8 +++----
 zh/docs/apisix/plugins/syslog/index.html           |  8 +++----
 zh/docs/apisix/plugins/tcp-logger/index.html       |  8 +++----
 zh/docs/apisix/plugins/traffic-split/index.html    |  8 +++----
 zh/docs/apisix/plugins/ua-restriction/index.html   |  8 +++----
 zh/docs/apisix/plugins/udp-logger/index.html       |  8 +++----
 zh/docs/apisix/plugins/uri-blocker/index.html      |  8 +++----
 zh/docs/apisix/plugins/wolf-rbac/index.html        |  8 +++----
 zh/docs/apisix/plugins/zipkin/index.html           |  8 +++----
 zh/docs/apisix/powered-by/index.html               |  8 +++----
 zh/docs/apisix/profile/index.html                  |  8 +++----
 zh/docs/apisix/router-radixtree/index.html         |  8 +++----
 zh/docs/apisix/stand-alone/index.html              |  8 +++----
 zh/docs/apisix/stream-proxy/index.html             |  8 +++----
 zh/docs/apisix/tags/index.html                     |  8 +++----
 zh/docs/apisix/wasm/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.5/tags/index.html              |  8 +++----
 zh/docs/dashboard/2.6.1/FAQ/index.html             |  8 +++----
 zh/docs/dashboard/2.6.1/I18N_USER_GUIDE/index.html |  8 +++----
 zh/docs/dashboard/2.6.1/IGNORE_DOC/index.html      |  8 +++----
 .../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.1/tags/index.html            |  8 +++----
 zh/docs/dashboard/2.6/FAQ/index.html               |  8 +++----
 zh/docs/dashboard/2.6/I18N_USER_GUIDE/index.html   |  8 +++----
 zh/docs/dashboard/2.6/IGNORE_DOC/index.html        |  8 +++----
 .../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/2.6/tags/index.html              |  8 +++----
 zh/docs/dashboard/2.7.1/FAQ/index.html             |  8 +++----
 zh/docs/dashboard/2.7.1/I18N_USER_GUIDE/index.html |  8 +++----
 zh/docs/dashboard/2.7.1/IGNORE_DOC/index.html      |  8 +++----
 .../2.7.1/IMPORT_OPENAPI_USER_GUIDE/index.html     |  8 +++----
 zh/docs/dashboard/2.7.1/USER_GUIDE/index.html      |  8 +++----
 zh/docs/dashboard/2.7.1/api/api/index.html         |  8 +++----
 zh/docs/dashboard/2.7.1/back-end-tests/index.html  |  8 +++----
 .../dashboard/2.7.1/deploy-with-docker/index.html  |  8 +++----
 zh/docs/dashboard/2.7.1/deploy-with-rpm/index.html |  8 +++----
 zh/docs/dashboard/2.7.1/deploy/index.html          |  8 +++----
 zh/docs/dashboard/2.7.1/develop/index.html         |  8 +++----
 zh/docs/dashboard/2.7.1/front-end-e2e/index.html   |  8 +++----
 zh/docs/dashboard/2.7.1/tags/index.html            |  8 +++----
 zh/docs/dashboard/2.7/FAQ/index.html               |  8 +++----
 zh/docs/dashboard/2.7/I18N_USER_GUIDE/index.html   |  8 +++----
 zh/docs/dashboard/2.7/IGNORE_DOC/index.html        |  8 +++----
 .../2.7/IMPORT_OPENAPI_USER_GUIDE/index.html       |  8 +++----
 zh/docs/dashboard/2.7/USER_GUIDE/index.html        |  8 +++----
 zh/docs/dashboard/2.7/api/api/index.html           |  8 +++----
 zh/docs/dashboard/2.7/back-end-tests/index.html    |  8 +++----
 .../dashboard/2.7/deploy-with-docker/index.html    |  8 +++----
 zh/docs/dashboard/2.7/deploy-with-rpm/index.html   |  8 +++----
 zh/docs/dashboard/2.7/deploy/index.html            |  8 +++----
 zh/docs/dashboard/2.7/develop/index.html           |  8 +++----
 zh/docs/dashboard/2.7/front-end-e2e/index.html     |  8 +++----
 zh/docs/dashboard/2.7/tags/index.html              |  8 +++----
 zh/docs/dashboard/2.8/FAQ/index.html               |  8 +++----
 zh/docs/dashboard/2.8/I18N_USER_GUIDE/index.html   |  8 +++----
 zh/docs/dashboard/2.8/IGNORE_DOC/index.html        |  8 +++----
 .../2.8/IMPORT_OPENAPI_USER_GUIDE/index.html       |  8 +++----
 zh/docs/dashboard/2.8/USER_GUIDE/index.html        |  8 +++----
 zh/docs/dashboard/2.8/api/api/index.html           |  8 +++----
 zh/docs/dashboard/2.8/back-end-tests/index.html    |  8 +++----
 .../dashboard/2.8/deploy-with-docker/index.html    |  8 +++----
 zh/docs/dashboard/2.8/deploy-with-rpm/index.html   |  8 +++----
 zh/docs/dashboard/2.8/deploy/index.html            |  8 +++----
 zh/docs/dashboard/2.8/develop/index.html           |  8 +++----
 zh/docs/dashboard/2.8/front-end-e2e/index.html     |  8 +++----
 zh/docs/dashboard/2.8/tags/index.html              |  8 +++----
 zh/docs/dashboard/FAQ/index.html                   |  8 +++----
 zh/docs/dashboard/I18N_USER_GUIDE/index.html       |  8 +++----
 zh/docs/dashboard/IGNORE_DOC/index.html            |  8 +++----
 .../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  |  8 +++----
 zh/docs/dashboard/next/deploy/index.html           |  8 +++----
 zh/docs/dashboard/next/develop/index.html          |  8 +++----
 zh/docs/dashboard/next/front-end-e2e/index.html    |  8 +++----
 zh/docs/dashboard/next/install/index.html          |  8 +++----
 zh/docs/dashboard/next/tags/index.html             |  8 +++----
 zh/docs/dashboard/tags/index.html                  |  8 +++----
 zh/docs/docker/IGNORE_DOC/index.html               |  8 +++----
 zh/docs/docker/apisix-2.10.0/IGNORE_DOC/index.html |  8 +++----
 zh/docs/docker/apisix-2.10.0/build/index.html      |  8 +++----
 zh/docs/docker/apisix-2.10.0/example/index.html    |  8 +++----
 zh/docs/docker/apisix-2.10.0/manual/index.html     |  8 +++----
 zh/docs/docker/apisix-2.10.0/tags/index.html       |  8 +++----
 zh/docs/docker/apisix-2.10.1/IGNORE_DOC/index.html |  8 +++----
 zh/docs/docker/apisix-2.10.1/build/index.html      |  8 +++----
 zh/docs/docker/apisix-2.10.1/example/index.html    |  8 +++----
 zh/docs/docker/apisix-2.10.1/manual/index.html     |  8 +++----
 zh/docs/docker/apisix-2.10.1/tags/index.html       |  8 +++----
 zh/docs/docker/apisix-2.10.2/IGNORE_DOC/index.html |  8 +++----
 zh/docs/docker/apisix-2.10.2/build/index.html      |  8 +++----
 zh/docs/docker/apisix-2.10.2/example/index.html    |  8 +++----
 zh/docs/docker/apisix-2.10.2/manual/index.html     |  8 +++----
 zh/docs/docker/apisix-2.10.2/tags/index.html       |  8 +++----
 zh/docs/docker/apisix-2.9.0/IGNORE_DOC/index.html  |  8 +++----
 zh/docs/docker/apisix-2.9.0/build/index.html       |  8 +++----
 zh/docs/docker/apisix-2.9.0/example/index.html     |  8 +++----
 zh/docs/docker/apisix-2.9.0/manual/index.html      |  8 +++----
 zh/docs/docker/apisix-2.9.0/tags/index.html        |  8 +++----
 zh/docs/docker/build/index.html                    |  8 +++----
 .../docker/dashboard-2.7.1/IGNORE_DOC/index.html   |  8 +++----
 zh/docs/docker/dashboard-2.7.1/build/index.html    |  8 +++----
 zh/docs/docker/dashboard-2.7.1/example/index.html  |  8 +++----
 zh/docs/docker/dashboard-2.7.1/manual/index.html   |  8 +++----
 zh/docs/docker/dashboard-2.7.1/tags/index.html     |  8 +++----
 zh/docs/docker/example/index.html                  |  8 +++----
 zh/docs/docker/manual/index.html                   |  8 +++----
 zh/docs/docker/next/IGNORE_DOC/index.html          | 10 ++++----
 zh/docs/docker/next/build/index.html               |  8 +++----
 zh/docs/docker/next/example/index.html             |  8 +++----
 zh/docs/docker/next/manual/index.html              |  8 +++----
 zh/docs/docker/next/tags/index.html                |  8 +++----
 zh/docs/docker/tags/index.html                     |  8 +++----
 zh/docs/general/2fa/index.html                     | 10 ++++----
 zh/docs/general/blog/index.html                    | 10 ++++----
 zh/docs/general/committer-guide/index.html         | 10 ++++----
 zh/docs/general/community/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/general/tags/index.html                    |  8 +++----
 .../go-plugin-runner/0.1.0/IGNORE_DOC/index.html   |  8 +++----
 .../0.1.0/developer-guide/index.html               |  8 +++----
 .../0.1.0/getting-started/index.html               |  8 +++----
 zh/docs/go-plugin-runner/0.1.0/tags/index.html     |  8 +++----
 zh/docs/go-plugin-runner/IGNORE_DOC/index.html     |  8 +++----
 .../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/go-plugin-runner/next/tags/index.html      |  8 +++----
 zh/docs/go-plugin-runner/tags/index.html           |  8 +++----
 zh/docs/helm-chart/FAQ/index.html                  |  8 +++----
 zh/docs/helm-chart/IGNORE_DOC/index.html           | 10 ++++----
 zh/docs/helm-chart/apisix-dashboard/index.html     |  8 +++----
 .../apisix-ingress-controller/index.html           |  8 +++----
 zh/docs/helm-chart/apisix/index.html               |  8 +++----
 zh/docs/helm-chart/tags/index.html                 |  8 +++----
 zh/docs/index.html                                 |  8 +++----
 zh/docs/ingress-controller/FAQ/index.html          |  8 +++----
 zh/docs/ingress-controller/IGNORE_DOC/index.html   | 10 ++++----
 .../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 +++----
 .../index.html                                     |  8 +++----
 .../index.html                                     |  8 +++----
 .../ingress-controller/practices/mtls/index.html   |  8 +++----
 .../practices/proxy-grpc-service/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/ingress-controller/tags/index.html         |  8 +++----
 zh/docs/ingress-controller/upgrade/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 +++----
 zh/docs/java-plugin-runner/next/tags/index.html    |  8 +++----
 .../index.html                                     |  8 +++----
 zh/docs/java-plugin-runner/tags/index.html         |  8 +++----
 .../index.html                                     |  8 +++----
 zh/docs/python-plugin-runner/IGNORE_DOC/index.html |  8 +++----
 .../developer-guide/index.html                     |  8 +++----
 .../getting-started/index.html                     |  8 +++----
 .../next/IGNORE_DOC/index.html                     | 10 ++++----
 .../next/developer-guide/index.html                |  8 +++----
 .../next/getting-started/index.html                |  8 +++----
 zh/docs/python-plugin-runner/next/tags/index.html  |  8 +++----
 zh/docs/python-plugin-runner/tags/index.html       |  8 +++----
 zh/downloads/index.html                            |  8 +++----
 zh/events/archive/index.html                       |  8 +++----
 zh/help/index.html                                 |  8 +++----
 zh/index.html                                      |  8 +++----
 zh/plugins/index.html                              |  8 +++----
 zh/search/index.html                               | 10 ++++----
 zh/sections/architecture/index.html                |  8 +++----
 zh/sections/benefits/index.html                    |  8 +++----
 zh/sections/comparison/index.html                  |  8 +++----
 zh/sections/components/arrowAnim/index.html        |  8 +++----
 zh/sections/components/eventPosterCard/index.html  |  8 +++----
 zh/sections/components/heroCanvas/index.html       |  8 +++----
 zh/sections/components/ossCanvas/index.html        |  8 +++----
 zh/sections/endcta/index.html                      |  8 +++----
 zh/sections/features/index.html                    |  8 +++----
 zh/sections/heroSection/index.html                 |  8 +++----
 zh/sections/home-events-section/index.html         |  8 +++----
 zh/sections/opensourcePromo/index.html             |  8 +++----
 zh/showcase/index.html                             |  8 +++----
 zh/sitemap.xml                                     |  2 +-
 zh/team/index.html                                 |  8 +++----
 2594 files changed, 10036 insertions(+), 10137 deletions(-)

diff --git a/404.html b/404.html
index 3061fe3..afb6a2d 100644
--- a/404.html
+++ b/404.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Page Not Found | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Page Not Found | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/Apache-APISIX-From-OpenSource-Commercialization-by-Apache-Way/index.html b/articles/Apache-APISIX-From-OpenSource-Commercialization-by-Apache-Way/index.html
index acd9c31..8f51e53 100644
--- a/articles/Apache-APISIX-From-OpenSource-Commercialization-by-Apache-Way/index.html
+++ b/articles/Apache-APISIX-From-OpenSource-Commercialization-by-Apache-Way/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">按照 Apache Way 运作开源商业化公司,这行得通吗? | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/Apache-APISIX-From-OpenSource-Commercialization/index.html b/articles/Apache-APISIX-From-OpenSource-Commercialization/index.html
index 00d33b1..d0f163e 100644
--- a/articles/Apache-APISIX-From-OpenSource-Commercialization/index.html
+++ b/articles/Apache-APISIX-From-OpenSource-Commercialization/index.html
@@ -13,14 +13,14 @@
 <link rel="search" type="application/opensearchdescription+xml" title="Apache APISIX® -- Cloud-Native API Gateway" href="/opensearch.xml">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 从开源项目到商业化之路 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og: [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 从开源项目到商业化之路 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og: [...]
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/Apache-APISIX-Incubator-Journey/index.html b/articles/Apache-APISIX-Incubator-Journey/index.html
index 4a70d4f..2469777 100644
--- a/articles/Apache-APISIX-Incubator-Journey/index.html
+++ b/articles/Apache-APISIX-Incubator-Journey/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 的孵化器之旅 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url"  [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/Apache-APISIX-Kubernetes-Ingress/index.html b/articles/Apache-APISIX-Kubernetes-Ingress/index.html
index 6232e6a..73d911e 100644
--- a/articles/Apache-APISIX-Kubernetes-Ingress/index.html
+++ b/articles/Apache-APISIX-Kubernetes-Ingress/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">基于 Apache APISIX 的 Kubernetes Ingress 的实现 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="tru [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/Apache-APISIX-in-China-Mobile-Cloud/index.html b/articles/Apache-APISIX-in-China-Mobile-Cloud/index.html
index c1c713e..414a040 100644
--- a/articles/Apache-APISIX-in-China-Mobile-Cloud/index.html
+++ b/articles/Apache-APISIX-in-China-Mobile-Cloud/index.html
@@ -13,14 +13,14 @@
 <link rel="search" type="application/opensearchdescription+xml" title="Apache APISIX® -- Cloud-Native API Gateway" href="/opensearch.xml">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 在移动云对象存储 EOS 的应用与实践 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" prope [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 在移动云对象存储 EOS 的应用与实践 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" prope [...]
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/How-To-Extend-Apache-APISIX-into-a-Service-Mesh-Sidecar/index.html b/articles/How-To-Extend-Apache-APISIX-into-a-Service-Mesh-Sidecar/index.html
index cb861ca..30f5043 100644
--- a/articles/How-To-Extend-Apache-APISIX-into-a-Service-Mesh-Sidecar/index.html
+++ b/articles/How-To-Extend-Apache-APISIX-into-a-Service-Mesh-Sidecar/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">如何将 Apache APISIX 扩展为一个服务网格的边车 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/Relying-On-The-Community-To-Get-Apache-APISIX-Up-Speed/index.html b/articles/Relying-On-The-Community-To-Get-Apache-APISIX-Up-Speed/index.html
index 41eb7f8..e603a64 100644
--- a/articles/Relying-On-The-Community-To-Get-Apache-APISIX-Up-Speed/index.html
+++ b/articles/Relying-On-The-Community-To-Get-Apache-APISIX-Up-Speed/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">依托社区让 Apache APISIX 高速发展 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:u [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/Rendering-Community-Events-Using-ECharts/index.html b/articles/Rendering-Community-Events-Using-ECharts/index.html
index 0153733..64b6722 100644
--- a/articles/Rendering-Community-Events-Using-ECharts/index.html
+++ b/articles/Rendering-Community-Events-Using-ECharts/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">使用 ECharts 呈现社区活动的渲染图 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/Speed-Limiting-With-Apache-APISIX/index.html b/articles/Speed-Limiting-With-Apache-APISIX/index.html
index 9ad74c9..c4b3ff9 100644
--- a/articles/Speed-Limiting-With-Apache-APISIX/index.html
+++ b/articles/Speed-Limiting-With-Apache-APISIX/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">使用 Apache APISIX 实现限流限速 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:ur [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/Test-Apache-APISIX-Resilience-With-Chaos-Mesh/index.html b/articles/Test-Apache-APISIX-Resilience-With-Chaos-Mesh/index.html
index 1f8c43d..3fd0d18 100644
--- a/articles/Test-Apache-APISIX-Resilience-With-Chaos-Mesh/index.html
+++ b/articles/Test-Apache-APISIX-Resilience-With-Chaos-Mesh/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">用 Chaos Mesh 测试 Apache APISIX 的恢复能力 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" pro [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/The-Appeal-of-OpenSource/index.html b/articles/The-Appeal-of-OpenSource/index.html
index 4a3db58..314aa09 100644
--- a/articles/The-Appeal-of-OpenSource/index.html
+++ b/articles/The-Appeal-of-OpenSource/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">开源的魅力 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https: [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/The-Evolution-of-Apache-APISIX/index.html b/articles/The-Evolution-of-Apache-APISIX/index.html
index 3a2aa40..6a5a680 100644
--- a/articles/The-Evolution-of-Apache-APISIX/index.html
+++ b/articles/The-Evolution-of-Apache-APISIX/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 的演变 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" con [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/Using-Apache-APISIX-To-Do-Authentication-and-Authorization/index.html b/articles/Using-Apache-APISIX-To-Do-Authentication-and-Authorization/index.html
index caaad90..e8e447c 100644
--- a/articles/Using-Apache-APISIX-To-Do-Authentication-and-Authorization/index.html
+++ b/articles/Using-Apache-APISIX-To-Do-Authentication-and-Authorization/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">使用 Apache APISIX 进行认证和授权 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:u [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/archive/index.html b/articles/archive/index.html
index fd17186..64f3e8a 100644
--- a/articles/archive/index.html
+++ b/articles/archive/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Archive | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Archive | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/atom.xml b/articles/atom.xml
index df43e84..b62cf9d 100644
--- a/articles/atom.xml
+++ b/articles/atom.xml
@@ -2,7 +2,7 @@
 <feed xmlns="http://www.w3.org/2005/Atom">
     <id>https://apisix.apache.org/articles</id>
     <title>Apache APISIX® -- Cloud-Native API Gateway Blog</title>
-    <updated>2021-12-07T05:59:20.388Z</updated>
+    <updated>2021-12-07T05:59:11.168Z</updated>
     <generator>https://github.com/jpmonette/feed</generator>
     <link rel="alternate" href="https://apisix.apache.org/articles"/>
     <subtitle>Apache APISIX® -- Cloud-Native API Gateway Blog</subtitle>
@@ -11,14 +11,14 @@
         <title type="html"><![CDATA[Apache APISIX 从开源项目到商业化之路]]></title>
         <id>Apache APISIX 从开源项目到商业化之路</id>
         <link href="https://apisix.apache.org/articles/Apache-APISIX-From-OpenSource-Commercialization"/>
-        <updated>2021-12-07T05:59:20.388Z</updated>
+        <updated>2021-12-07T05:59:11.168Z</updated>
         <summary type="html"><![CDATA[Apache APISIX 从开源项目到商业化之路.]]></summary>
     </entry>
     <entry>
         <title type="html"><![CDATA[Apache APISIX 在移动云对象存储 EOS 的应用与实践]]></title>
         <id>Apache APISIX 在移动云对象存储 EOS 的应用与实践</id>
         <link href="https://apisix.apache.org/articles/Apache-APISIX-in-China-Mobile-Cloud"/>
-        <updated>2021-12-07T05:59:20.388Z</updated>
+        <updated>2021-12-07T05:59:11.168Z</updated>
         <summary type="html"><![CDATA[该演讲主题主要是讲述 Apache APISIX 在中国移动公有云对象存储 EOS 中的应用与实践经验分享。首先介绍了中国移动公有云建设规划及对象存储产品发展演进历程,然后阐述了我们为什么选择 APISIX 作为负载均衡网关,并对 EOS 流量治理架构演进三个阶段进行进行了详细介绍。同时,我们还分享了基于 APISIX 我们解决了哪些实际生产问题,做了哪些方案及开发工作,最后对我们未来的演进做了一些规划说明。]]></summary>
     </entry>
     <entry>
diff --git a/articles/index.html b/articles/index.html
index b46b9c8..1bc8c20 100644
--- a/articles/index.html
+++ b/articles/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Article | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Article | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/page/2/index.html b/articles/page/2/index.html
index 202fa66..69f42c0 100644
--- a/articles/page/2/index.html
+++ b/articles/page/2/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Article | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Article | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/rss.xml b/articles/rss.xml
index 1b68a91..262e5b8 100644
--- a/articles/rss.xml
+++ b/articles/rss.xml
@@ -4,21 +4,21 @@
         <title>Apache APISIX® -- Cloud-Native API Gateway Blog</title>
         <link>https://apisix.apache.org/articles</link>
         <description>Apache APISIX® -- Cloud-Native API Gateway Blog</description>
-        <lastBuildDate>Tue, 07 Dec 2021 05:59:20 GMT</lastBuildDate>
+        <lastBuildDate>Tue, 07 Dec 2021 05:59:11 GMT</lastBuildDate>
         <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
         <generator>https://github.com/jpmonette/feed</generator>
         <item>
             <title><![CDATA[Apache APISIX 从开源项目到商业化之路]]></title>
             <link>https://apisix.apache.org/articles/Apache-APISIX-From-OpenSource-Commercialization</link>
             <guid>Apache APISIX 从开源项目到商业化之路</guid>
-            <pubDate>Tue, 07 Dec 2021 05:59:20 GMT</pubDate>
+            <pubDate>Tue, 07 Dec 2021 05:59:11 GMT</pubDate>
             <description><![CDATA[Apache APISIX 从开源项目到商业化之路.]]></description>
         </item>
         <item>
             <title><![CDATA[Apache APISIX 在移动云对象存储 EOS 的应用与实践]]></title>
             <link>https://apisix.apache.org/articles/Apache-APISIX-in-China-Mobile-Cloud</link>
             <guid>Apache APISIX 在移动云对象存储 EOS 的应用与实践</guid>
-            <pubDate>Tue, 07 Dec 2021 05:59:20 GMT</pubDate>
+            <pubDate>Tue, 07 Dec 2021 05:59:11 GMT</pubDate>
             <description><![CDATA[该演讲主题主要是讲述 Apache APISIX 在中国移动公有云对象存储 EOS 中的应用与实践经验分享。首先介绍了中国移动公有云建设规划及对象存储产品发展演进历程,然后阐述了我们为什么选择 APISIX 作为负载均衡网关,并对 EOS 流量治理架构演进三个阶段进行进行了详细介绍。同时,我们还分享了基于 APISIX 我们解决了哪些实际生产问题,做了哪些方案及开发工作,最后对我们未来的演进做了一些规划说明。]]></description>
         </item>
         <item>
diff --git a/assets/js/03b491a1.9e1410fe.js b/assets/js/03b491a1.9e1410fe.js
deleted file mode 100644
index 91362d4..0000000
--- a/assets/js/03b491a1.9e1410fe.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[62916],{3905:function(e,t,a){a.d(t,{Zo:function(){return c},kt:function(){return u}});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a [...]
\ No newline at end of file
diff --git a/assets/js/03b491a1.a44d89f5.js b/assets/js/03b491a1.a44d89f5.js
new file mode 100644
index 0000000..38446d8
--- /dev/null
+++ b/assets/js/03b491a1.a44d89f5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[62916],{3905:function(e,t,a){a.d(t,{Zo:function(){return c},kt:function(){return u}});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a [...]
\ No newline at end of file
diff --git a/assets/js/07718882.3395bf05.js b/assets/js/07718882.3395bf05.js
deleted file mode 100644
index 3ce3b48..0000000
--- a/assets/js/07718882.3395bf05.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[99473],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return f}});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/07718882.d6479b1d.js b/assets/js/07718882.d6479b1d.js
new file mode 100644
index 0000000..6e42e0a
--- /dev/null
+++ b/assets/js/07718882.d6479b1d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[99473],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return f}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/09b17eb5.7a4383c9.js b/assets/js/09b17eb5.7a4383c9.js
new file mode 100644
index 0000000..210b717
--- /dev/null
+++ b/assets/js/09b17eb5.7a4383c9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[29556],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return s}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/09b17eb5.82162a34.js b/assets/js/09b17eb5.82162a34.js
deleted file mode 100644
index 852d361..0000000
--- a/assets/js/09b17eb5.82162a34.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[29556],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return s}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/11ce4159.711b0007.js b/assets/js/11ce4159.711b0007.js
deleted file mode 100644
index 88f0d54..0000000
--- a/assets/js/11ce4159.711b0007.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1531],{75034:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/5","page":5,"postsPerPage":10,"totalPages":9,"totalCount":88,"previousPage":"/blog/page/4","nextPage":"/blog/page/6","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/11ce4159.75db5cf0.js b/assets/js/11ce4159.75db5cf0.js
new file mode 100644
index 0000000..c136676
--- /dev/null
+++ b/assets/js/11ce4159.75db5cf0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1531],{75034:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/5","page":5,"postsPerPage":10,"totalPages":9,"totalCount":87,"previousPage":"/blog/page/4","nextPage":"/blog/page/6","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/19945770.34927e18.js b/assets/js/19945770.34927e18.js
deleted file mode 100644
index ecd6767..0000000
--- a/assets/js/19945770.34927e18.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[55067],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return m}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/19945770.b4bbbd28.js b/assets/js/19945770.b4bbbd28.js
new file mode 100644
index 0000000..85a8552
--- /dev/null
+++ b/assets/js/19945770.b4bbbd28.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[55067],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return m}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/27383beb.6a5599b9.js b/assets/js/27383beb.6a5599b9.js
deleted file mode 100644
index aeac361..0000000
--- a/assets/js/27383beb.6a5599b9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[24242],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},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/3393d167.3f591906.js b/assets/js/3393d167.3f591906.js
new file mode 100644
index 0000000..607877e
--- /dev/null
+++ b/assets/js/3393d167.3f591906.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[27314],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/3393d167.b173c562.js b/assets/js/3393d167.b173c562.js
deleted file mode 100644
index 9f1a089..0000000
--- a/assets/js/3393d167.b173c562.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[27314],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/358566b4.34bb0555.js b/assets/js/358566b4.34bb0555.js
deleted file mode 100644
index 6719bdc..0000000
--- a/assets/js/358566b4.34bb0555.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[13553],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return 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/358566b4.aa6fe92a.js b/assets/js/358566b4.aa6fe92a.js
new file mode 100644
index 0000000..31a79a1
--- /dev/null
+++ b/assets/js/358566b4.aa6fe92a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[13553],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/3dc9f306.11b5e887.js b/assets/js/3dc9f306.11b5e887.js
new file mode 100644
index 0000000..710824a
--- /dev/null
+++ b/assets/js/3dc9f306.11b5e887.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[38393],{3905:function(t,e,o){o.d(e,{Zo:function(){return l},kt:function(){return d}});var n=o(67294);function r(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function a(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.push.apply(o [...]
\ No newline at end of file
diff --git a/assets/js/3dc9f306.972b806f.js b/assets/js/3dc9f306.972b806f.js
deleted file mode 100644
index 366fb7b..0000000
--- a/assets/js/3dc9f306.972b806f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[38393],{3905:function(t,e,o){o.d(e,{Zo:function(){return l},kt:function(){return d}});var n=o(67294);function r(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function a(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.push.apply(o [...]
\ No newline at end of file
diff --git a/assets/js/3f1b4b86.edbcb5c9.js b/assets/js/3f1b4b86.edbcb5c9.js
deleted file mode 100644
index ee41119..0000000
--- a/assets/js/3f1b4b86.edbcb5c9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[48166],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return m}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/3f1b4b86.f0700596.js b/assets/js/3f1b4b86.f0700596.js
new file mode 100644
index 0000000..941b622
--- /dev/null
+++ b/assets/js/3f1b4b86.f0700596.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[48166],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return m}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/40fb2fae.c94c83ba.js b/assets/js/40fb2fae.c94c83ba.js
new file mode 100644
index 0000000..7db7769
--- /dev/null
+++ b/assets/js/40fb2fae.c94c83ba.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[32547],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function 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/40fb2fae.cbefbe12.js b/assets/js/40fb2fae.cbefbe12.js
deleted file mode 100644
index 2dcba04..0000000
--- a/assets/js/40fb2fae.cbefbe12.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[32547],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/44ac4dbb.44ab412a.js b/assets/js/44ac4dbb.44ab412a.js
new file mode 100644
index 0000000..c8aaea7
--- /dev/null
+++ b/assets/js/44ac4dbb.44ab412a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[77142],{90399:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/6","page":6,"postsPerPage":10,"totalPages":9,"totalCount":87,"previousPage":"/blog/page/5","nextPage":"/blog/page/7","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/44ac4dbb.6ec0f24f.js b/assets/js/44ac4dbb.6ec0f24f.js
deleted file mode 100644
index 3df9a0f..0000000
--- a/assets/js/44ac4dbb.6ec0f24f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[77142],{90399:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/6","page":6,"postsPerPage":10,"totalPages":9,"totalCount":88,"previousPage":"/blog/page/5","nextPage":"/blog/page/7","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/4c20006b.1347f0b1.js b/assets/js/4c20006b.1347f0b1.js
new file mode 100644
index 0000000..3f29f93
--- /dev/null
+++ b/assets/js/4c20006b.1347f0b1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[91012],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/4c20006b.606227fe.js b/assets/js/4c20006b.606227fe.js
deleted file mode 100644
index 16dc05e..0000000
--- a/assets/js/4c20006b.606227fe.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[91012],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/4f9f5708.3a2ea8e7.js b/assets/js/4f9f5708.3a2ea8e7.js
new file mode 100644
index 0000000..eef03a5
--- /dev/null
+++ b/assets/js/4f9f5708.3a2ea8e7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[79578],{3905:function(e,t,n){n.d(t,{Zo:function(){return s},kt:function(){return d}});var r=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(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/4f9f5708.720796a6.js b/assets/js/4f9f5708.720796a6.js
deleted file mode 100644
index 1a81bfd..0000000
--- a/assets/js/4f9f5708.720796a6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[79578],{3905:function(e,t,n){n.d(t,{Zo:function(){return s},kt:function(){return d}});var r=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(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/507e1a4c.16a2ccc1.js b/assets/js/507e1a4c.16a2ccc1.js
new file mode 100644
index 0000000..b0b5a05
--- /dev/null
+++ b/assets/js/507e1a4c.16a2ccc1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[58509],{62276:function(e){e.exports=JSON.parse('{"blogPosts":[{"id":"Apache APISIX \u4ece\u5f00\u6e90\u9879\u76ee\u5230\u5546\u4e1a\u5316\u4e4b\u8def","metadata":{"permalink":"/articles/Apache-APISIX-From-OpenSource-Commercialization","source":"@site/articles/Apache-APISIX-From-OpenSource-Commercialization.md","title":"Apache APISIX \u4ece\u5f00\u6e90\u9879\u76ee\u5230\u5546\u4e1a\u5316\u4e4b\u8def","description":"Apache APISI [...]
\ No newline at end of file
diff --git a/assets/js/507e1a4c.21f84a65.js b/assets/js/507e1a4c.21f84a65.js
deleted file mode 100644
index d99e1dd..0000000
--- a/assets/js/507e1a4c.21f84a65.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[58509],{62276:function(e){e.exports=JSON.parse('{"blogPosts":[{"id":"Apache APISIX \u4ece\u5f00\u6e90\u9879\u76ee\u5230\u5546\u4e1a\u5316\u4e4b\u8def","metadata":{"permalink":"/articles/Apache-APISIX-From-OpenSource-Commercialization","source":"@site/articles/Apache-APISIX-From-OpenSource-Commercialization.md","title":"Apache APISIX \u4ece\u5f00\u6e90\u9879\u76ee\u5230\u5546\u4e1a\u5316\u4e4b\u8def","description":"Apache APISI [...]
\ No newline at end of file
diff --git a/assets/js/50facf8e.58bcf6ad.js b/assets/js/50facf8e.58bcf6ad.js
deleted file mode 100644
index 34914e7..0000000
--- a/assets/js/50facf8e.58bcf6ad.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[87974],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return d}});var i=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/50facf8e.ffbe39f6.js b/assets/js/50facf8e.ffbe39f6.js
new file mode 100644
index 0000000..28cabe4
--- /dev/null
+++ b/assets/js/50facf8e.ffbe39f6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[87974],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return d}});var i=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/52099127.0b438c66.js b/assets/js/52099127.0b438c66.js
new file mode 100644
index 0000000..fb04eec
--- /dev/null
+++ b/assets/js/52099127.0b438c66.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[41426],{94708:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/7","page":7,"postsPerPage":10,"totalPages":9,"totalCount":87,"previousPage":"/blog/page/6","nextPage":"/blog/page/8","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/52099127.b3d22f82.js b/assets/js/52099127.b3d22f82.js
deleted file mode 100644
index 331917a..0000000
--- a/assets/js/52099127.b3d22f82.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[41426],{94708:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/7","page":7,"postsPerPage":10,"totalPages":9,"totalCount":88,"previousPage":"/blog/page/6","nextPage":"/blog/page/8","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/542fd41f.04ffc55a.js b/assets/js/542fd41f.04ffc55a.js
deleted file mode 100644
index d3410b1..0000000
--- a/assets/js/542fd41f.04ffc55a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4316],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r, [...]
\ No newline at end of file
diff --git a/assets/js/542fd41f.2b49e2eb.js b/assets/js/542fd41f.2b49e2eb.js
new file mode 100644
index 0000000..50bc08d
--- /dev/null
+++ b/assets/js/542fd41f.2b49e2eb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4316],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function 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/55207995.436831a9.js b/assets/js/55207995.436831a9.js
deleted file mode 100644
index 84442dd..0000000
--- a/assets/js/55207995.436831a9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[69650],{43610:function(e){e.exports=JSON.parse('{"allTagsPath":"/blog/tags","slug":"/blog/tags/technology","name":"Technology","count":23,"permalink":"/blog/tags/technology"}')}}]);
\ No newline at end of file
diff --git a/assets/js/55207995.a89e1a5c.js b/assets/js/55207995.a89e1a5c.js
new file mode 100644
index 0000000..e38b6fb
--- /dev/null
+++ b/assets/js/55207995.a89e1a5c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[69650],{43610:function(e){e.exports=JSON.parse('{"allTagsPath":"/blog/tags","slug":"/blog/tags/technology","name":"Technology","count":22,"permalink":"/blog/tags/technology"}')}}]);
\ No newline at end of file
diff --git a/assets/js/601c6eaa.a127cc99.js b/assets/js/601c6eaa.a127cc99.js
deleted file mode 100644
index 935823a..0000000
--- a/assets/js/601c6eaa.a127cc99.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[97117],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/601c6eaa.f6cfa551.js b/assets/js/601c6eaa.f6cfa551.js
new file mode 100644
index 0000000..48031d3
--- /dev/null
+++ b/assets/js/601c6eaa.f6cfa551.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[97117],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/66fbb9c2.55ee356f.js b/assets/js/66fbb9c2.55ee356f.js
new file mode 100644
index 0000000..1a20714
--- /dev/null
+++ b/assets/js/66fbb9c2.55ee356f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7668],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r, [...]
\ No newline at end of file
diff --git a/assets/js/66fbb9c2.fc363564.js b/assets/js/66fbb9c2.fc363564.js
deleted file mode 100644
index a8ee6d3..0000000
--- a/assets/js/66fbb9c2.fc363564.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7668],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r, [...]
\ No newline at end of file
diff --git a/assets/js/6814da5a.6ec08f2d.js b/assets/js/6814da5a.6ec08f2d.js
deleted file mode 100644
index ac55aa4..0000000
--- a/assets/js/6814da5a.6ec08f2d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[49910],{3905:function(e,t,n){n.d(t,{Zo:function(){return g},kt:function(){return d}});var a=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 r(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/7af3052c.09aeb1d2.js b/assets/js/7af3052c.09aeb1d2.js
new file mode 100644
index 0000000..78ff378
--- /dev/null
+++ b/assets/js/7af3052c.09aeb1d2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[25032],{3905:function(e,a,t){t.d(a,{Zo:function(){return d},kt:function(){return u}});var n=t(67294);function i(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function r(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t [...]
\ No newline at end of file
diff --git a/assets/js/7af3052c.bec452d4.js b/assets/js/7af3052c.bec452d4.js
deleted file mode 100644
index 26d76c5..0000000
--- a/assets/js/7af3052c.bec452d4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[25032],{3905:function(e,a,t){t.d(a,{Zo:function(){return d},kt:function(){return u}});var n=t(67294);function i(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function r(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t [...]
\ No newline at end of file
diff --git a/assets/js/7d9726a8.113f1dd7.js b/assets/js/7d9726a8.113f1dd7.js
new file mode 100644
index 0000000..45d5e2f
--- /dev/null
+++ b/assets/js/7d9726a8.113f1dd7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7429],{89494:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/4","page":4,"postsPerPage":10,"totalPages":9,"totalCount":87,"previousPage":"/blog/page/3","nextPage":"/blog/page/5","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/7d9726a8.9a197cea.js b/assets/js/7d9726a8.9a197cea.js
deleted file mode 100644
index df1c0d0..0000000
--- a/assets/js/7d9726a8.9a197cea.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7429],{89494:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/4","page":4,"postsPerPage":10,"totalPages":9,"totalCount":88,"previousPage":"/blog/page/3","nextPage":"/blog/page/5","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/80791de8.09aecbbb.js b/assets/js/80791de8.09aecbbb.js
new file mode 100644
index 0000000..6bd51b8
--- /dev/null
+++ b/assets/js/80791de8.09aecbbb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[50466],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return y}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/80791de8.9ba35802.js b/assets/js/80791de8.9ba35802.js
deleted file mode 100644
index 0876bb0..0000000
--- a/assets/js/80791de8.9ba35802.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[50466],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return y}});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/814f3328.4ea5d517.js b/assets/js/814f3328.4ea5d517.js
new file mode 100644
index 0000000..fb32f8f
--- /dev/null
+++ b/assets/js/814f3328.4ea5d517.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[52535],{45641:function(e){e.exports=JSON.parse('{"title":"All posts","items":[{"title":"Biweekly Report\uff5c11.15-11.30 Feature Highlights Update in Progress","permalink":"/blog/2021/12/02/weekly-report-1130"},{"title":"Apache APISIX\'s intergration with Azure Serverless","permalink":"/blog/2021/12/01/apisix-supports-azure-functions"},{"title":"Using Apache APISIX Ingress Gateway to access Custom Monitoring in KubeSphere","pe [...]
\ No newline at end of file
diff --git a/assets/js/814f3328.b6ce3900.js b/assets/js/814f3328.b6ce3900.js
deleted file mode 100644
index 12ddc29..0000000
--- a/assets/js/814f3328.b6ce3900.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[52535],{45641:function(e){e.exports=JSON.parse('{"title":"All posts","items":[{"title":"Apache APISIX Integrates with SkyWalking to Create a Full Fange of Log Processing","permalink":"/blog/2021/12/07/apisix-integrate-skywalking-plugin"},{"title":"Biweekly Report\uff5c11.15-11.30 Feature Highlights Update in Progress","permalink":"/blog/2021/12/02/weekly-report-1130"},{"title":"Apache APISIX\'s intergration with Azure Serverle [...]
\ No newline at end of file
diff --git a/assets/js/8e784bf3.97bd3329.js b/assets/js/8e784bf3.97bd3329.js
new file mode 100644
index 0000000..c78f78f
--- /dev/null
+++ b/assets/js/8e784bf3.97bd3329.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[78216],{3905:function(e,t,o){o.d(t,{Zo:function(){return p},kt:function(){return d}});var n=o(67294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function i(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o [...]
\ No newline at end of file
diff --git a/assets/js/8e784bf3.af124f66.js b/assets/js/8e784bf3.af124f66.js
deleted file mode 100644
index bb201a2..0000000
--- a/assets/js/8e784bf3.af124f66.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[78216],{3905:function(e,t,o){o.d(t,{Zo:function(){return p},kt:function(){return d}});var n=o(67294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function i(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o [...]
\ No newline at end of file
diff --git a/assets/js/8eb4e46b.5f497b5f.js b/assets/js/8eb4e46b.5f497b5f.js
new file mode 100644
index 0000000..bc5081e
--- /dev/null
+++ b/assets/js/8eb4e46b.5f497b5f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[10001],{82638:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/2","page":2,"postsPerPage":10,"totalPages":9,"totalCount":87,"previousPage":"/blog","nextPage":"/blog/page/3","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/8eb4e46b.c30f8da7.js b/assets/js/8eb4e46b.c30f8da7.js
deleted file mode 100644
index 12caaa0..0000000
--- a/assets/js/8eb4e46b.c30f8da7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[10001],{82638:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/2","page":2,"postsPerPage":10,"totalPages":9,"totalCount":88,"previousPage":"/blog","nextPage":"/blog/page/3","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/8f700fa6.1bf27a89.js b/assets/js/8f700fa6.1bf27a89.js
new file mode 100644
index 0000000..d7e626a
--- /dev/null
+++ b/assets/js/8f700fa6.1bf27a89.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[53963],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return m}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/8f700fa6.8f185bdb.js b/assets/js/8f700fa6.8f185bdb.js
deleted file mode 100644
index ddfe814..0000000
--- a/assets/js/8f700fa6.8f185bdb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[53963],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return m}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/90fc8a94.51ddfe0a.js b/assets/js/90fc8a94.51ddfe0a.js
new file mode 100644
index 0000000..a714fe7
--- /dev/null
+++ b/assets/js/90fc8a94.51ddfe0a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[64125],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return s}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/90fc8a94.604adf9b.js b/assets/js/90fc8a94.604adf9b.js
deleted file mode 100644
index 9e7639d..0000000
--- a/assets/js/90fc8a94.604adf9b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[64125],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return s}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/92999a1c.9568d163.js b/assets/js/92999a1c.9568d163.js
new file mode 100644
index 0000000..4f3786f
--- /dev/null
+++ b/assets/js/92999a1c.9568d163.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[18442],{15310:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/3","page":3,"postsPerPage":10,"totalPages":9,"totalCount":87,"previousPage":"/blog/page/2","nextPage":"/blog/page/4","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/92999a1c.ee6fdc5d.js b/assets/js/92999a1c.ee6fdc5d.js
deleted file mode 100644
index 16fe5a6..0000000
--- a/assets/js/92999a1c.ee6fdc5d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[18442],{15310:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/3","page":3,"postsPerPage":10,"totalPages":9,"totalCount":88,"previousPage":"/blog/page/2","nextPage":"/blog/page/4","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/941960b1.1695f66f.js b/assets/js/941960b1.1695f66f.js
deleted file mode 100644
index cf30d02..0000000
--- a/assets/js/941960b1.1695f66f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[41950],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return m}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/941960b1.80c40b4b.js b/assets/js/941960b1.80c40b4b.js
new file mode 100644
index 0000000..7964025
--- /dev/null
+++ b/assets/js/941960b1.80c40b4b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[41950],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return m}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/98b657d8.0fde2c0e.js b/assets/js/98b657d8.0fde2c0e.js
new file mode 100644
index 0000000..b878ca5
--- /dev/null
+++ b/assets/js/98b657d8.0fde2c0e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[38486],{15509:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/8","page":8,"postsPerPage":10,"totalPages":9,"totalCount":87,"previousPage":"/blog/page/7","nextPage":"/blog/page/9","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/98b657d8.e3905ea2.js b/assets/js/98b657d8.e3905ea2.js
deleted file mode 100644
index d8445b6..0000000
--- a/assets/js/98b657d8.e3905ea2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[38486],{15509:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/8","page":8,"postsPerPage":10,"totalPages":9,"totalCount":88,"previousPage":"/blog/page/7","nextPage":"/blog/page/9","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/a7023ddc.81551fdf.js b/assets/js/a7023ddc.81551fdf.js
deleted file mode 100644
index e79678f..0000000
--- a/assets/js/a7023ddc.81551fdf.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[11713],{53457:function(a){a.exports=JSON.parse('{"/blog/tags/technology":{"allTagsPath":"/blog/tags","slug":"/blog/tags/technology","name":"Technology","count":23,"permalink":"/blog/tags/technology"},"/blog/tags/events":{"allTagsPath":"/blog/tags","slug":"/blog/tags/events","name":"Events","count":19,"permalink":"/blog/tags/events"},"/blog/tags/community":{"allTagsPath":"/blog/tags","slug":"/blog/tags/community","name":"Commun [...]
\ No newline at end of file
diff --git a/assets/js/a7023ddc.e79d09e1.js b/assets/js/a7023ddc.e79d09e1.js
new file mode 100644
index 0000000..c20b524
--- /dev/null
+++ b/assets/js/a7023ddc.e79d09e1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[11713],{53457:function(a){a.exports=JSON.parse('{"/blog/tags/events":{"allTagsPath":"/blog/tags","slug":"/blog/tags/events","name":"Events","count":19,"permalink":"/blog/tags/events"},"/blog/tags/technology":{"allTagsPath":"/blog/tags","slug":"/blog/tags/technology","name":"Technology","count":22,"permalink":"/blog/tags/technology"},"/blog/tags/community":{"allTagsPath":"/blog/tags","slug":"/blog/tags/community","name":"Commun [...]
\ No newline at end of file
diff --git a/assets/js/adbb350b.a601ea63.js b/assets/js/adbb350b.a601ea63.js
deleted file mode 100644
index 712b67d..0000000
--- a/assets/js/adbb350b.a601ea63.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[85427],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var i=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/adbb350b.de3712a5.js b/assets/js/adbb350b.de3712a5.js
new file mode 100644
index 0000000..034c3de
--- /dev/null
+++ b/assets/js/adbb350b.de3712a5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[85427],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var i=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/b2b675dd.844f6c76.js b/assets/js/b2b675dd.844f6c76.js
deleted file mode 100644
index 9fa6d45..0000000
--- a/assets/js/b2b675dd.844f6c76.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[90533],{28017:function(e){e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":10,"totalPages":9,"totalCount":88,"previousPage":null,"nextPage":"/blog/page/2","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/b2b675dd.e1c814c6.js b/assets/js/b2b675dd.e1c814c6.js
new file mode 100644
index 0000000..f77d033
--- /dev/null
+++ b/assets/js/b2b675dd.e1c814c6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[90533],{28017:function(e){e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":10,"totalPages":9,"totalCount":87,"previousPage":null,"nextPage":"/blog/page/2","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/b2f554cd.49409c80.js b/assets/js/b2f554cd.49409c80.js
new file mode 100644
index 0000000..578f9a5
--- /dev/null
+++ b/assets/js/b2f554cd.49409c80.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[11477],{30010:function(e){e.exports=JSON.parse('{"blogPosts":[{"id":"Biweekly Report\uff5c11.15-11.30 Feature Highlights Update in Progress","metadata":{"permalink":"/blog/2021/12/02/weekly-report-1130","source":"@site/blog/2021/12/02/weekly-report-1130.md","title":"Biweekly Report\uff5c11.15-11.30 Feature Highlights Update in Progress","description":"The Apache APISIX Community Weekly Report hopes to help community members be [...]
\ No newline at end of file
diff --git a/assets/js/b2f554cd.e8c537a0.js b/assets/js/b2f554cd.e8c537a0.js
deleted file mode 100644
index ac3161c..0000000
--- a/assets/js/b2f554cd.e8c537a0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[11477],{30010:function(e){e.exports=JSON.parse('{"blogPosts":[{"id":"Apache APISIX Integrates with SkyWalking to Create a Full Fange of Log Processing","metadata":{"permalink":"/blog/2021/12/07/apisix-integrate-skywalking-plugin","source":"@site/blog/2021/12/07/apisix-integrate-skywalking-plugin.md","title":"Apache APISIX Integrates with SkyWalking to Create a Full Fange of Log Processing","description":"This paper mainly intr [...]
\ No newline at end of file
diff --git a/assets/js/d18db9b0.314dc587.js b/assets/js/d18db9b0.314dc587.js
new file mode 100644
index 0000000..3089c6f
--- /dev/null
+++ b/assets/js/d18db9b0.314dc587.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[17825],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/d18db9b0.f81b7656.js b/assets/js/d18db9b0.f81b7656.js
deleted file mode 100644
index 3260d37..0000000
--- a/assets/js/d18db9b0.f81b7656.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[17825],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},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/f091cc2c.598f30bd.js b/assets/js/f091cc2c.598f30bd.js
new file mode 100644
index 0000000..93eaf8f
--- /dev/null
+++ b/assets/js/f091cc2c.598f30bd.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[60215],{56592:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/9","page":9,"postsPerPage":10,"totalPages":9,"totalCount":87,"previousPage":"/blog/page/8","nextPage":null,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/f091cc2c.fb182237.js b/assets/js/f091cc2c.fb182237.js
deleted file mode 100644
index 8e5ddd5..0000000
--- a/assets/js/f091cc2c.fb182237.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[60215],{56592:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/9","page":9,"postsPerPage":10,"totalPages":9,"totalCount":88,"previousPage":"/blog/page/8","nextPage":null,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/main.0075334b.js b/assets/js/main.0075334b.js
new file mode 100644
index 0000000..b5a2847
--- /dev/null
+++ b/assets/js/main.0075334b.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.0075334b.js.LICENSE.txt */
+(self.webpackChunk=self.webpackChunk||[]).push([[40179],{99782:function(e,n,i){"use strict";i.r(n),n.default={title:"Apache APISIX\xae -- Cloud-Native API Gateway",tagline:"Apache APISIX is a dynamic, real-time, high-performance Cloud-Native API gateway, based on the Nginx library and etcd.",url:"https://apisix.apache.org",baseUrl:"/",organizationName:"Apache",projectName:"apisix-website",favicon:"img/favicon.png",customFields:{tagline2:"Apache APISIX software provides rich traffic manag [...]
\ No newline at end of file
diff --git a/zh/assets/js/main.3b05bb76.js.LICENSE.txt b/assets/js/main.0075334b.js.LICENSE.txt
similarity index 100%
rename from zh/assets/js/main.3b05bb76.js.LICENSE.txt
rename to assets/js/main.0075334b.js.LICENSE.txt
diff --git a/assets/js/main.b8faba07.js b/assets/js/main.b8faba07.js
deleted file mode 100644
index 638a1b5..0000000
--- a/assets/js/main.b8faba07.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.b8faba07.js.LICENSE.txt */
-(self.webpackChunk=self.webpackChunk||[]).push([[40179],{99782:function(e,n,i){"use strict";i.r(n),n.default={title:"Apache APISIX\xae -- Cloud-Native API Gateway",tagline:"Apache APISIX is a dynamic, real-time, high-performance Cloud-Native API gateway, based on the Nginx library and etcd.",url:"https://apisix.apache.org",baseUrl:"/",organizationName:"Apache",projectName:"apisix-website",favicon:"img/favicon.png",customFields:{tagline2:"Apache APISIX software provides rich traffic manag [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.3f484e6a.js b/assets/js/runtime~main.3f484e6a.js
new file mode 100644
index 0000000..85f3a32
--- /dev/null
+++ b/assets/js/runtime~main.3f484e6a.js
@@ -0,0 +1 @@
+!function(){"use strict";var e,c,f,d,b={},a={};function t(e){var c=a[e];if(void 0!==c)return c.exports;var f=a[e]={id:e,loaded:!1,exports:{}};return b[e].call(f.exports,f,f.exports,t),f.loaded=!0,f.exports}t.m=b,t.c=a,e=[],t.O=function(c,f,d,b){if(!f){var a=1/0;for(u=0;u<e.length;u++){f=e[u][0],d=e[u][1],b=e[u][2];for(var n=!0,r=0;r<f.length;r++)(!1&b||a>=b)&&Object.keys(t.O).every((function(e){return t.O[e](f[r])}))?f.splice(r--,1):(n=!1,b<a&&(a=b));if(n){e.splice(u--,1);var o=d();void  [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.fc942a8c.js b/assets/js/runtime~main.fc942a8c.js
deleted file mode 100644
index c24db5e..0000000
--- a/assets/js/runtime~main.fc942a8c.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(){"use strict";var e,c,f,d,b={},a={};function t(e){var c=a[e];if(void 0!==c)return c.exports;var f=a[e]={id:e,loaded:!1,exports:{}};return b[e].call(f.exports,f,f.exports,t),f.loaded=!0,f.exports}t.m=b,t.c=a,e=[],t.O=function(c,f,d,b){if(!f){var a=1/0;for(u=0;u<e.length;u++){f=e[u][0],d=e[u][1],b=e[u][2];for(var n=!0,r=0;r<f.length;r++)(!1&b||a>=b)&&Object.keys(t.O).every((function(e){return t.O[e](f[r])}))?f.splice(r--,1):(n=!1,b<a&&(a=b));if(n){e.splice(u--,1);var o=d();void  [...]
\ No newline at end of file
diff --git a/blog/2020/12/11/beike-how-to-build-gateway-based-on-apache-apisix/index.html b/blog/2020/12/11/beike-how-to-build-gateway-based-on-apache-apisix/index.html
index b45c85e..3aa5852 100644
--- a/blog/2020/12/11/beike-how-to-build-gateway-based-on-apache-apisix/index.html
+++ b/blog/2020/12/11/beike-how-to-build-gateway-based-on-apache-apisix/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">贝壳找房:如何基于 Apache APISIX 搭建网关 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 <img src="https://static.apiseven.com/2020/05/1588756665-Snipaste_2020-05-06_17-17-29.png" alt="Apache APISIX 架构图">
 <img src="https://static.apiseven.com/2020/05/1588756618-Snipaste_2020-05-06_17-16-13.png" alt="Apache APISIX 技术亮点"></p><p>对于网关的技术要求,一是要性能好,能够支撑大流量的接入,二是要稳定,不能出问题。</p><p>选型的原则就是基于或者借鉴开源项目重构一个更加稳定的版本,能够保证接入更大的流量,刚开始的流量还少,做这样的大动作是完全可以接受的。评估完利弊后和领导沟通了一下想法,得到领导的肯定后就决定搞起,这时脑海想的第一个就是 Kong 了,大名鼎鼎的开源网关。于是就去官网浏览了一番,周边文章也看了些,第一印象就是这个项目很不错,能够满足用户的大多数需求,性能还稳定,就是它了。兴高采烈地 clone 了代码开始阅读起来,一天两天若干天过去了,还是一头雾水的样子,想想也是,Kong 能提供这么多的功能,其代码的复杂度可想而�
 ��。</p><p>这时几个问题出现在我的脑海里,我一个人多久能啃下来 Kong 呢?然后还要构建一个适合自己的项目,又需要多久呢 [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 5652bc8..2e74d90 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
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Envoy and Apache APISIX: Another way to implement the Envoy filter | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><me [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 A pluggable filter chain mechanism allows filters to be written to perform different tasks and inserted into the main server.</p><p><img src="https://static.apiseven.com/filters.png" alt="Envoy filter"></p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="expansion-method"></a>Expansion method<a class="hash-link" href="#expansion-method" title="Direct link to heading">#</a></h3><p>The existing filters may not meet the user&#x27;s cust [...]
 In the example, we configured plugin <code>uri-blocker</code> for the route whose prefix is ​​<code>/foo</code>, as well as the block rule of the plugin and the response status when a block is required.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor anchor__h4 anchorWithHideOnScrollNavbar_3R7-" id="second-step-parse-request"></a>Second step, parse request<a class="hash-link" href="#second-step-parse-request" title="Direct link to heading">#</a></h4><p>We encapsulated the client [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2020/12/18/first-look-at-kubernetes-service-api/index.html b/blog/2020/12/18/first-look-at-kubernetes-service-api/index.html
index 6d941b3..f1174d6 100644
--- a/blog/2020/12/18/first-look-at-kubernetes-service-api/index.html
+++ b/blog/2020/12/18/first-look-at-kubernetes-service-api/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">A First Look at Kubernetes Service APIs | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 a37ea9b..8fe9c09 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
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Contributor Interview | Pengcheng Wang, Senior Security Consultant, PricewaterhouseCoopers China Data Security &amp; Privacy Team | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 52c65af..fe1d300 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
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Run Ingress APISIX on Amazon EKS | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" proper [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token string" style="color:#e3116c">&quot;headers&quot;</span><span class="token builtin class-name">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</s [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 c6c621b..0e702cb 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
@@ -14,16 +14,16 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stable Product Delivery with Cypress | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" pr [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token number" style="color:#36acaa">2</span><span class="token plain">. Extract the selector and data as public variables.</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">To </span><span class="token function" style="color:#d73a49">make</span><span class="token plain"> it </span><span class="token function" style="color:#d73a49">more</span><span class="token plain"> intuitive </span><span class="token keyword" style="color:#00009f">for</span><span class="token plain"> the user to understand the meaning of the </span><span class="token builtin class-name">test</span><spa [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">```javaScript</span></span><span class="token-line" style="color:#393A34"><span class="token plain">  const data </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    name: </span> [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 967e52c..38c924c 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
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Apache APISIX from Helm Charts | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true"  [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">NAME                    CHART VERSION   APP VERSION     DESCRIPTION</span></span><span class="token-line" style="color:#393A34"><span class="token plain">apisix/apisix           0.1.2           2.1.0           A Helm chart for Apache APISIX</span></span><span class="token-line" style="color:#393A34"><span class="token plain">apisix/apisix-dashboard 0.1.0           2.3.0           A Helm chart for Apach [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">NAME: apisix-gw</span></span><span class="token-line" style="color:#393A34"><span class="token plain">LAST DEPLOYED: Fri Feb 19 11:34:14 2021</span></span><span class="token-line" style="color:#393A34"><span class="token plain">NAMESPACE: default</span></span><span class="token-line" style="color:#393A34"><span class="token plain">STATUS: deployed</span></span><span class="token-line" style="color:#393 [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 f69072e..8d42bb7 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
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Get Front-End Test Coverage with Cypress | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/05/24/Tencent-Games/index.html b/blog/2021/05/24/Tencent-Games/index.html
index f37b7e8..d185eab 100644
--- a/blog/2021/05/24/Tencent-Games/index.html
+++ b/blog/2021/05/24/Tencent-Games/index.html
@@ -14,18 +14,18 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">支持 10 亿日流量的基础设施:当 Apahce APISIX 遇上腾讯 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" pr [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 (这里需要澄清的是,本文讨论的网关特指 API Gateway ,即针对后台服务以 API 提供服务的场景。)</p><p>在上面的这个图中,有时 LB 同时也起到网关的作用,比如 k8s 的 Ingress 组件。</p><p>有了网关这个组件后,我们就可以将传统架构的通用功能下沉到网关,这样一来我们获得了很多的好处:</p><ul><li>网关可以独立迭代,不再需要业务服务配合。</li><li>与语言无关,可以配置专门的团队维护。</li></ul><p>但是网关模式也有自己的缺点:</p><ul><li>多了一次转发,延迟变高,排查问题复杂度变高。</li><li>网关如果不能正常工作,可能会成为整个平台的瓶颈。</li></ul><p>如何平衡好网关模式的好处和缺点,不仅十分考验业务团队的实力,更是与网关的选型息息相关。接下来,我们要请出本文要介绍的两个重点对象:腾讯 OTeam 和 Apache APISIX。</p><h2><a aria-hidden="
 true" tabindex="-1" class="anchor anchor__h2 anchor [...]
 OTeam 的运作参考下图:</p><p><img src="https://static.apiseven.com/202108/1630640321189-46cf2163-552c-4816-bdf6-ef4f58702667.png" alt="OTeam 的运营策略"></p><p>可以看到 OTeam 的特性迭代是一个完整的闭环:</p><ul><li>用户通过 Issue 反馈问题和需求</li><li>OTeam 的成员 在 周会 上讨论解决方案,或者直接在 Issue 中跟进</li><li>按照解决方案实现特性 or 修复 Bug</li><li>代码 Review 后,经历 CI 合入到主干中,再视情况需不需要打包镜像发版
 这个流程其实和 GitHub 多数开源项目的贡献过程是没区别的,关键点在于:</li><li>解决了 Issue 后,腾讯工程师会判断这个问题对于社区来说,是否也是一个共性问题。如果是,则会发 PR 到社区的仓库去。</li><li>腾讯 OTeam 会定期 Review Apache APISIX 的新特性,判断其是否稳定、是否对腾讯内部也是一个痛点。如果答案是肯定的,合入相关代码。</li></ul><p>最早期的时候,OTeam 会每 12 小时,自动合入社区代码到内部仓库中,以保证我们与社区能够共同前进,但这种做法带来了几个问题:</p><ul><li>合入的代码通过目前的集成测试只能保证功能 正确性 却没法保证 稳定性,很多偶现的问题都是在并发中发生的。</li><li>合入的代码,有时会产生上游的多个 PR 在逻辑上出现冲突的问题,但是各自的 CI 无法检测出来,只有当合入主干后,才会发现主干的代码产生
 了问题。</li></ul><p>出于以上原因,现在 OTeam 转为定期 Review 后合入所需特性的代码的策略。</p><h2><a aria-hidd [...]
 我们希望这些例子能起到抛砖引玉的作用,鼓励大家去发掘更多 Apache APISIX 的使用场景,更好的把 Apache APISIX 这个好用的工具用起来。比如在腾讯云团队,就有同学利用网关实现了一些腾讯云平台强制要求的 API 规范,将这逻辑下沉到了网关。</li></ul><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="最后的话"></a>最后的话<a class="hash-link" href="#最后的话" title="Direct link to heading">#</a></h2><p>转眼在腾讯内帮助各个团队维护 Apache APISIX 也一年多了,在这个过程中,OTeam 既帮助业务团队解决了他们的痛点,也不断完善了 Apache APISIX 在腾讯内部的特性,同时也间接推动了社区的发展,实现了共赢。
 如果读者所在公司如果还没有落地网关的话,可以了解下 Apahce APISIX。已经落地了网关的读者,也希望本文能够给你们带来一点在网关落地上的灵感和帮助。</p><blockquote><p>欢迎感兴趣的同学访问 bilibili <a href="https://www.bilibili.com/video/BV1yK4y1G7CP/" target="_blank" rel="noopener noreferrer">Apache APISIX 在腾讯游戏的应用</a>,观看视频。</p></blockquote></div><footer class="row docusaurus-mt-lg blogPostDetailsFull_3kfx"><div class="col"><b>Tags:</b><ul class="tags_2ga9 padding--none margin-left--sm"><li class="tag_11ep"><a class="tag_1Okp tagRegular_3MiF" href="/blog/tags/user-c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/05/25/Apache APISIX 2.6.0-Release/index.html b/blog/2021/05/25/Apache APISIX 2.6.0-Release/index.html
index 81eecf0..0e10883 100644
--- a/blog/2021/05/25/Apache APISIX 2.6.0-Release/index.html	
+++ b/blog/2021/05/25/Apache APISIX 2.6.0-Release/index.html	
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 2.6.0-Release Officially Released | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helme [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 Currently, the following external services are supported by APISIX built-in service discovery function.</p><ol><li>DNS</li><li>Consul KV mode</li><li>Eureka</li><li>Nacos</li></ol><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="support-configuring-dns-resolver-for-ipv6"></a>Support: Configuring DNS resolver for IPv6<a class="hash-link" href="#support-configuring-dns-resolver-for-ipv6" title="Direct link to heading">#</a></h3><p>Prev [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/06/03/experience-share-from-Apache-APISIX-committer/index.html b/blog/2021/06/03/experience-share-from-Apache-APISIX-committer/index.html
index 565ece8..0a8aac4 100644
--- a/blog/2021/06/03/experience-share-from-Apache-APISIX-committer/index.html
+++ b/blog/2021/06/03/experience-share-from-Apache-APISIX-committer/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Experience sharing from Apache APISIX committer - Interview with Summer of Programming | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/ap [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/06/06/apisix-two-years/index.html b/blog/2021/06/06/apisix-two-years/index.html
index 13474b7..8791641 100644
--- a/blog/2021/06/06/apisix-two-years/index.html
+++ b/blog/2021/06/06/apisix-two-years/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Open Source 2 Year Anniversary! | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 c00e3fc..71eda77 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
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX not affected by NGINX CVE-2021-23017 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-he [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/06/10/Apache-APISIX-and-Envoy-performance-comparison/index.html b/blog/2021/06/10/Apache-APISIX-and-Envoy-performance-comparison/index.html
index 7536c5f..96c27c7 100644
--- a/blog/2021/06/10/Apache-APISIX-and-Envoy-performance-comparison/index.html
+++ b/blog/2021/06/10/Apache-APISIX-and-Envoy-performance-comparison/index.html
@@ -14,17 +14,17 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link 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 v.s Envoy: Which Has the Better Performance? | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data- [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">  access_log off;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">  location = /hello {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    echo_duplicate 400 &quot;1234567890&quot;;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">  }</span></span><span class="token-line" style="color:#393A [...]
 是 CPU)</li></ul><p><img src="https://static.apiseven.com/202108/20210617003.png" alt="test result"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="route-configuration"></a>Route Configuration<a class="hash-link" href="#route-configuration" title="Direct link to heading">#</a></h2><p>First we find the Apache APISIX Getting Started configuration guide and we add a route to /hello with the following configuration:</p><div class="co [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    filter_chains:</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    - filters:</span></span><span class="token-line" style="color:#393A34"><span class="token plain">      - name: envoy.http_connection_manager</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        config:</span></span><span class="token-line" style="color:#3 [...]
 Apache APISIX</p></div><footer class="row docusaurus-mt-lg blogPostDetailsFull_3kfx"><div class="col"><b>Tags:</b><ul class="tags_2ga9 padding--none margin-left--sm"><li class="tag_11ep"><a class="tag_1Okp tagRegular_3MiF" href="/blog/tags/technology">Technology</a></li></ul></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Blog post page navigation"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/blog/2021/06/16/Chaos-Mesh-helps-A [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 a4521fb..d80bd3b 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
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Chaos Mesh Helps Apache APISIX Improve Stability | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helm [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 9ed055d..a6ea891 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
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Dashboard Access Control Bypass Vulnerability Advisory (CVE-2021-33190) | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 cfd1a37..1329ad6 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
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">The first GA release of Apache APISIX Ingress Controller v1.0 is now available! | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-ap [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 7815083..e95a2a6 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
@@ -14,12 +14,12 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link 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 Write an Apache APISIX Plugin in Java | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 The plugin runner processes the RPC call, creates a simulated request inside it, and then runs the multiple programming languages written a plugin and returns the result to Apache APISIX.</p><p>The order of execution of multiple programming languages plugins is defined in the ext-plugin-* plugin configuration entry. Like other plugins, they can be enabled and redefined on the fly.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="b [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.apache.apisix.plugin.runner.HttpRequest;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.apache.apisix.plugin.runner.HttpResponse;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.stereotype.Component;</span></span><span class="token-line" style="color:#393A34"><span class="token  [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
@@ -35,7 +35,7 @@ The plugin runner processes the RPC call, creates a simulated request inside it,
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">        // token verification results</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        if (!flag) {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">            String rejected_code = (String) conf.get(&quot;rejected_code&quot;);</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">        return chain.filter(request, response);</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    }</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    private Boolean validate(String token, String validate_url) {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        //TODO: improve the validation process</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        return true;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    }</span>< [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 7a2b891..339e9a5 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
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Deploy Apache APISIX and Apache APISIX Ingress Controller on Rancher | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png">< [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/06/28/why-we-need-Apache-APISIX/index.html b/blog/2021/06/28/why-we-need-Apache-APISIX/index.html
index 52d2a6c..3a91c28 100644
--- a/blog/2021/06/28/why-we-need-Apache-APISIX/index.html
+++ b/blog/2021/06/28/why-we-need-Apache-APISIX/index.html
@@ -14,16 +14,16 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Why do you need Apache APISIX when you have NGINX and Kong? | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 <img src="https://static.apiseven.com/202108/20210625002.png" alt="membphis"></p><p>First of all, I would like to introduce myself, my name is Yuansheng Wang. I wrote an e-book called &quot;OpenResty Best Practices&quot; in 2015 and formed a community of over 10,000 people through this book. Since that time, I have become more and more interested in open source itself. Before 2015, I was basically mainly a user of open source software, then slowly became a co-organizer of the community,  [...]
 <img src="https://static.apiseven.com/202108/20210625004.png" alt="api7.ai team"></p><p>This is our team, we mainly collaborate remotely, and it&#x27;s harder to get everyone together. When there were only five or six people in the early stages of the company, it was relatively easy to get the team together, but it hasn&#x27;t been together since this year, and this is the most together we&#x27;ve had so far this year (but there are still a few students who didn&#x27;t make it together). [...]
 <img src="https://static.apiseven.com/202108/20210625005.png" alt="APISIX architecture"></p><p>The topic of this talk needs some background, so let&#x27;s start with the history of back-end architecture evolution. First, let&#x27;s review this diagram, the right part from top to bottom it is not a specific data flow diagram, it is the history of our backend architecture evolution. Spring Cloud architecture mainly serves JAVA language developers, Kubernetes is a container orchestration to [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 804ace4..90e3243 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
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.7.0 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="o [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 9440cee..4aee286 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
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Does etcd 3 Support HTTP Access Perfectly? | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="tr [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 One idea was to use incremental synchronization to simulate full synchronization, which has two drawbacks.</p><ol><li>It is complicated to implement and requires a lot of code changes.</li><li>It would extend the time required for synchronization.</li></ol><p>Another idea is to modify etcd. If you can remove the restrictions in etcdctl, why not treat gRPC-gateway the same way? The same change can be made to gRPC-gateway.
 We’ve adopted the second option, and have given etcd a PR: <a href="https://github.com/etcd-io/etcd/pull/13077" target="_blank" rel="noopener noreferrer">PR #13077</a>.</p><p><img alt="2021-06-30-1" src="/assets/images/2021-06-30-1-6eae65298ae03e3aafbcafffa6464321.png"></p><p>The latest release of v3.5.0 includes this change that we contributed. If you encounter “grpc: received message larger than max”, you may want to try this version. This change has also been back-ported to the 3.4 br [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 c6e926b..5043cce 100644
--- a/blog/2021/07/06/celebrate-200-contributors/index.html
+++ b/blog/2021/07/06/celebrate-200-contributors/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX has over 200 contributors in GitHub main repo! | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta dat [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 Welcome to join the Apache APISIX community, welcome to use Apache APISIX!</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="contributors-say"></a>Contributors Say<a class="hash-link" href="#contributors-say" title="Direct link to heading">#</a></h2><p>When reaching 200 contributors, the contributors in the community sent their blessings to Apache APISIX. Here are what they want to say to Apache APISIX.</p><p><a href="https://githu [...]
 community activity</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="join-the-apache-apisix-community"></a>Join the Apache APISIX community<a class="hash-link" href="#join-the-apache-apisix-community" title="Direct link to heading">#</a></h2><p>Sincerely invite you to join the Apache APISIX open source community, let us work together to create the best API gateway in the cloud-native era!</p><p>There is no barrier to becoming an Ap [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 a936cc0..2a37bc5 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
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">The Road to Customized Development of Sina Weibo API Gateway | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta dat [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 The full grayscale publishing feature requires some API support exposed on the gateway instance in addition to the administrative backend support.</p><p><img src="https://user-images.githubusercontent.com/23514812/125598577-bcf2b13d-031a-440c-9480-c68d41d5ca9c.png" alt="Support Grayscale Release2"></p><p>The above screenshot shows the screenshot when operating Grayscale Publishing to select a specific gateway instance.</p><p>The full grayscale publishing feature requires some API support [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/07/21/Apache-APISIX-Kubernetes/index.html b/blog/2021/07/21/Apache-APISIX-Kubernetes/index.html
index c7f8756..3560212 100644
--- a/blog/2021/07/21/Apache-APISIX-Kubernetes/index.html
+++ b/blog/2021/07/21/Apache-APISIX-Kubernetes/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX x Kubernetes: Just Right|Live | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="t [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 With 7 years in the industry, Jintao Zhang has a lot of practice and deep source code research on containerization technologies such as Docker and Kubernetes, and is one of the core organizers of PyCon China. He is also the author of &quot;Kubernetes Hands-on&quot; and &quot;Docker Core Knowledge Must Know&quot;. He runs the public number: MoeLove.</p><p>He is also the author of Kubernetes Hands-on and Docker Core Knowledge.
 <img src="https://static.apiseven.com/202108/1630382172445-cf20986b-c939-497e-86a4-92da7064ae97.PNG" alt="Lecturer-Jintao Zhang"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="about-apache-apisix"></a>About Apache APISIX<a class="hash-link" href="#about-apache-apisix" title="Direct link to heading">#</a></h2><p>Apache APISIX is a dynamic, real-time, high-performance open source API gateway that provides rich traffic management  [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/07/25/apachecon-asia/index.html b/blog/2021/07/25/apachecon-asia/index.html
index a29a360..0cf16fe 100644
--- a/blog/2021/07/25/apachecon-asia/index.html
+++ b/blog/2021/07/25/apachecon-asia/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ApacheCon Asia 2021: Apache APISIX Technical Topics | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/07/27/use-of-plugin-orchestration-in-Apache-APISIX/index.html b/blog/2021/07/27/use-of-plugin-orchestration-in-Apache-APISIX/index.html
index 68acef7..87216c1 100644
--- a/blog/2021/07/27/use-of-plugin-orchestration-in-Apache-APISIX/index.html
+++ b/blog/2021/07/27/use-of-plugin-orchestration-in-Apache-APISIX/index.html
@@ -14,19 +14,19 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Applying Plugin Orchestration in Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c"> {</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">   &quot;uri&quot;: &quot;/get&quot;,</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">   &quot;methods&quot;: [&quot;GET&quot;],</span></span><span class="token-line" style="color:#393A34"><span class="token s [...]
 </span></span><span 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="to [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="apache-apisix-dashboard"></a>Apache APISIX Dashboard<a class="hash-link" href="#apache-apisix-d [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain">,</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token 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></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token string" style="color:#e3116c">&qu [...]
 </span></span><span 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></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token string" style="color:#e3116c">&quot;ro [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/07/28/release-apache-apisix-2.8/index.html b/blog/2021/07/28/release-apache-apisix-2.8/index.html
index 4185e54..be468cd 100644
--- a/blog/2021/07/28/release-apache-apisix-2.8/index.html
+++ b/blog/2021/07/28/release-apache-apisix-2.8/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.8.0 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="o [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 👇👇👇</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="release-notes"></a>Release Notes<a class="hash-link" href="#release-notes" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="new-feature-independent-keepalive-connection-pool"></a>New feature: Independent Keepalive connection pool<a class="hash-link" href="#new-feature-independent-keep [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/05/Kong-to-APISIX/index.html b/blog/2021/08/05/Kong-to-APISIX/index.html
index d84ab35..eab566e 100644
--- a/blog/2021/08/05/Kong-to-APISIX/index.html
+++ b/blog/2021/08/05/Kong-to-APISIX/index.html
@@ -14,19 +14,19 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Kong-To-APISIX Migration Tool | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">cd</span><span class="token plain"> kong-to-apisix</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">make</span><span class="token plain"> build</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">./bin/kong-to-apisix migrate --input kong.yaml --output apisix.yaml</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># migrate succeed</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div></li><li><p>Use <code>apisix.yaml</code> to configure APISIX, refer to <a href="https://apisix.apache.org/docs/apisix/stand-alone" target="_blank" rel="noopener noreferr [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">cd</span><span class="token plain"> kong-to-apisix</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">./tools/setup.sh</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div></li><li><p>Add configuration to Kong and test it according to Kong&#x27;s Getting Started Guide.</p><ol><li>Expose services via Service and Route for routing and forwarding</li><li>Set up Rate Limiting and Proxy Caching plugins for flow limitin [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/06/using-apache-apisix-to-improve-the-observability-of-nginx/index.html b/blog/2021/08/06/using-apache-apisix-to-improve-the-observability-of-nginx/index.html
index 645e34c..3eec491 100644
--- a/blog/2021/08/06/using-apache-apisix-to-improve-the-observability-of-nginx/index.html
+++ b/blog/2021/08/06/using-apache-apisix-to-improve-the-observability-of-nginx/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How to Improve the Observability of Nginx with Apache APISX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 If you install the collection module outside of Nginx, you are limited in the metrics you can collect, and you can only get the information exposed by Nginx, not the internal information that is not exposed.</p><p>In addition, because Nginx Amplify SaaS is a SaaS service, you need to transfer the collected data to the server through the public network, which can pose some security risks and keep some enterprise users out. Perhaps Nginx Amplify is targeted at enterprise users like Nginx p [...]
 When using Prometheus, if you configure the statistics of metrics at the URI level, the whole metrics will be inflated dramatically. Because there may be dozens of services at the URI level, each metrics may be followed by many labels, which will slow down the performance of the gateway and make the metrics more difficult to obtain. <strong>Use ALS solution to send the data to SkyWalking by streaming, leaving the calculation to SkyWalking and making it easy to query later</strong>, witho [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/09/Apache-APISIX-in-China-Mobile-Cloud/index.html b/blog/2021/08/09/Apache-APISIX-in-China-Mobile-Cloud/index.html
index a412002..a47ce39 100644
--- a/blog/2021/08/09/Apache-APISIX-in-China-Mobile-Cloud/index.html
+++ b/blog/2021/08/09/Apache-APISIX-in-China-Mobile-Cloud/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 在移动云的应用 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/09/Apache-APISIX-in-Quliankeji/index.html b/blog/2021/08/09/Apache-APISIX-in-Quliankeji/index.html
index 3a309fb..a592d72 100644
--- a/blog/2021/08/09/Apache-APISIX-in-Quliankeji/index.html
+++ b/blog/2021/08/09/Apache-APISIX-in-Quliankeji/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Abandoning Kong and Nginx, Hyperchain Technology implements on its BaaS platform | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-a [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/10/apisix-nginx/index.html b/blog/2021/08/10/apisix-nginx/index.html
index 097d04c..86b478c 100644
--- a/blog/2021/08/10/apisix-nginx/index.html
+++ b/blog/2021/08/10/apisix-nginx/index.html
@@ -14,12 +14,12 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link 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 Architecture Analysis: How to Dynamically Manage Nginx Clustering? | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-a [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 <img src="https://static.apiseven.com/202108/1631170345853-f020a64d-3e97-49c0-8395-c9e4e9cf4233.jpeg" alt="etcd-based synchronization of nginx configuration"></li></ul><p>Therefore, unlike Orange and Kong, Apache APISIX uses etcd as the centralized configuration component. You can see a similar configuration in a production environment of Apache APISIX via etcdctl as follows.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-co [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// See the ngx_proc.c file</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">void</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></s [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token function" style="color:#d73a49">lua_pushcfunction</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">L</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> ngx_http_lua_ngx_timer_at</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="c [...]
@@ -38,7 +38,7 @@ The HTTP2 protocol is very complex, and there is no HTTP2 cosocket library avail
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    local seg_res, seg_id = uri_segs[4], uri_segs[5]</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    local seg_sub_path = core.table.concat(uri_segs, &quot;/&quot;, 6)</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    local resource = resources[seg_res]</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    local code, data = resource[method](seg_id, req_body, seg_sub_path,</span></span><span class="token-line" style="color:#393A34"><span class="token plain">                                        uri_args)</span></span><span class="token-line" style="color:#393A34"><span class [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">-- /apisix/core/etcd.lua</span></span><span class="token-line" style="color:#393A34"><span class="token plain">local function set(key, value, ttl)</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    local res, err = etcd_cli:set(prefix ... key, value, {prev_kv = true, lease = data.body.ID})</span></span><span class="token-line" style="color:#393A34"><span class="to [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/11/interview-TuZhengsong/index.html b/blog/2021/08/11/interview-TuZhengsong/index.html
index a0a7967..a4d12da 100644
--- a/blog/2021/08/11/interview-TuZhengsong/index.html
+++ b/blog/2021/08/11/interview-TuZhengsong/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">I issued my first PR in the Apache APISIX community | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/12/Chaos-Mesh-Helps-Apache-APISIX-Improve-System-Stability/index.html b/blog/2021/08/12/Chaos-Mesh-Helps-Apache-APISIX-Improve-System-Stability/index.html
index 39aa639..991e7a9 100644
--- a/blog/2021/08/12/Chaos-Mesh-Helps-Apache-APISIX-Improve-System-Stability/index.html
+++ b/blog/2021/08/12/Chaos-Mesh-Helps-Apache-APISIX-Improve-System-Stability/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Chaos Mesh Helps Apache APISIX Improve System Stability | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-rea [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/14/contributors-the-golden-metric-of-openSource-projects/index.html b/blog/2021/08/14/contributors-the-golden-metric-of-openSource-projects/index.html
index ea8d768..be360f3 100644
--- a/blog/2021/08/14/contributors-the-golden-metric-of-openSource-projects/index.html
+++ b/blog/2021/08/14/contributors-the-golden-metric-of-openSource-projects/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Contributors — The Golden Metric of OpenSource Projects | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-rea [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 <a href="https://github.com/api7/contributor-graph" target="_blank" rel="noopener noreferrer">https://github.com/api7/contributor-graph</a></p></blockquote><p>Behind these fast-growing numbers, open source maintainers did a lot of work on propaganda, article, media, Meetups, etc., to attract more developers for their projects, It’s a lot to take in.</p><p>So for developers, how can they find out which one is the best fit for their company among the hundreds of projects on GitHub?</p><p>V [...]
 As maintainers and developers of open source projects, we also need such golden metrics to guide us. Therefore, we propose two dimensions, “Contributor Growth” and “Active Contributors”, and open source the statistics and analysis process: <a href="https://github.com/api7/contributor-graph" target="_blank" rel="noopener noreferrer">https://github.com/api7/contributor-graph</a>, you can also search directly through <a href="https://www.apiseven.com/zh/contributor-graph" target="_blank" re [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/16/Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication/index.html b/blog/2021/08/16/Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication/index.html
index 4bc041b..e7b04d25 100644
--- a/blog/2021/08/16/Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication/index.html
+++ b/blog/2021/08/16/Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication/index.html
@@ -14,18 +14,18 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Using the Apache APISIX OpenID Connect Plugin for Okta Centralized Authentication | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache- [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 <img alt="Create App Integration" src="/assets/images/2021-08-16-4-56246ab773e8514b6d7ff6e88a1ba575.png"></li><li>Select &quot;OIDC-OpenID Connect&quot; for the Sign-in method, and select &quot;Web Application&quot; for the Application type.
 <img alt="Create a new App Integration" src="/assets/images/2021-08-16-5-27949e296923f482ca03e52147040e5b.png"></li><li>Set the redirect URL for login and logout. The &quot;Sign-in redirect URIs&quot; are links a user can go to after a successful login, and the &quot;Sign-out redirect URIs&quot; are links a user goes to after a successful logout. In this example, we set both sign-in and sign-out redirect URIs to <code>http://127.0.0.1:9080/</code>.
 <img alt="Set the redirect URL for login and logout" src="/assets/images/2021-08-16-6-f282419b7f52ab87487580f15b7789f3.png"></li><li>After finishing the settings, click &quot;Save&quot; to save the changes.
 <img alt="save the changes" src="/assets/images/2021-08-16-7-b7ceb94a0cbdac698adcdd78dd290bbe.png"></li><li>Visit the General page of the application to obtain the following configuration, which is required to configure Apache APISIX OpenID Connect.</li></ol><ul><li>Client ID: OAuth client ID, the application ID, which corresponds to client_id and {YOUR_CLIENT_ID} below.</li><li>Client secret: OAuth client secret, the application key, which corresponds to client_secret and {YOUR_CLIENT_S [...]
 <img alt="visit Okta login page" src="/assets/images/2021-08-16-9-9752a521c7717adfb0fe94f20bb28c8d.png"></li><li>Enter the username and password for the user&#x27;s Okta account and click &quot;Sign In&quot; to log in to your Okta account.</li><li>After successful login, you can access the get page in &quot;httpbin.org&quot;. The &quot;httpbin.org/get&quot; page will return the requested data with X-Access-Token,X-Id-Token, and X-Userinfo as follows.</li></ol><div class="codeBlockContain [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/17/interview-airwallex/index.html b/blog/2021/08/17/interview-airwallex/index.html
index e304e5e..ca13114 100644
--- a/blog/2021/08/17/interview-airwallex/index.html
+++ b/blog/2021/08/17/interview-airwallex/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX in Airwallex | Interview with Yang Li, Head of Airwallex Technology Platform | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/im [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/18/Auth-with-Casbin-in-Apache-APISIX/index.html b/blog/2021/08/18/Auth-with-Casbin-in-Apache-APISIX/index.html
index 9254fdb..a595b1c 100644
--- a/blog/2021/08/18/Auth-with-Casbin-in-Apache-APISIX/index.html
+++ b/blog/2021/08/18/Auth-with-Casbin-in-Apache-APISIX/index.html
@@ -14,12 +14,12 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Licensing with Casbin in Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true"  [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 <a href="https://github.com/apache/apisix/blob/d9b928321fcdd12eef024df8c7c410424c1e0c8b/docs/en/latest/plugins/authz-casbin.md" target="_blank" rel="noopener noreferrer">authz-casbin</a> is a lua-casbin based Apache APISIX plugin that supports powerful authorization based on various access models. casbin is a powerful and efficient open source access control framework that supports ACL, RBAC, ABAC and other access control models. lua-casbin is a Lua version implementation of the Casbin a [...]
 The authz-casbin plugin can decouple the two functions of route matching and request authorization very well. You can load various authorization access models into Apache APISIX and implement efficient and complex authorization models with the help of lua-casbin.</p><p><strong>Note</strong>: If you want to implement authentication, you need to use other plugins or configure yourself to complete the authentication of the user&#x27;s identity, for example <a href="https://github.com/apache [...]
 If we want to create a model to access three resources: /, /res1, /res2, we want a model like this</p><p><img alt="authz-casbin example" src="/assets/images/2021-08-18-1-5ecf309fec322291ce40b4fae7424acc.png"></p><p>In this model, all users, such as Jack, have access to the main page (/). And users like Alice and Bob with admin rights have access to all pages and resources (/res1, /res2, /). Thus, we need to restrict users without administrator privileges to access specific resources usin [...]
@@ -34,7 +34,7 @@ Similarly, you can put models and policies directly into</p><div class="codeBloc
 </span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            [matchers]</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            m = (g(r.sub, p.sub) || keyMatch(r.sub, p.sub)) &amp;&amp; keyMatch(r.obj, p.obj) &amp;&amp; keyMatch(r.act, p.act)&quot;,</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="display:inline-block; [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            &quot;policy&quot;: &quot;p, *, /, GET</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            p, admin, *, *</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            g, alice, admin&quot;,</span></span><span class="token-line" style="color: [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            &quot;username&quot;: &quot;user&quot;</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">        }</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">    },</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="co [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/19/go-makes-Apache-APISIX-better/index.html b/blog/2021/08/19/go-makes-Apache-APISIX-better/index.html
index 679787c..a77cd3e 100644
--- a/blog/2021/08/19/go-makes-Apache-APISIX-better/index.html
+++ b/blog/2021/08/19/go-makes-Apache-APISIX-better/index.html
@@ -14,16 +14,16 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Go gives Apache APISIX a run for its money | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="tr [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">  w</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">Header</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">Add</span><span class="token pun [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>You can see that the interface returns hello and does not access any upstream.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="setting-up-apache-apisix-run"></a>Setting up Apache APISIX (run)<a  [...]
 Click to visit <a href="https://github.com/apache/apisix-go-plugin-runner" target="_blank" rel="noopener noreferrer">apisix-go-plugin-runner</a>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="related-reading"></a>Related reading<a class="hash-link" href="#related-reading" title="Direct link to heading">#</a></h2><p><a href="https://apisix.apache.org/blog/2021/06/21/use-Java-to-write-Apache-APISIX-plugins" target="_blank" rel="n [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/19/weekly-report/index.html b/blog/2021/08/19/weekly-report/index.html
index 9258650..2caf803 100644
--- a/blog/2021/08/19/weekly-report/index.html
+++ b/blog/2021/08/19/weekly-report/index.html
@@ -14,12 +14,12 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link 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 社区周报 | 08-09 ~ 08-15 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" prop [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 <strong>问题描述</strong>:Admin API 中关于创建 Route 入参 (vars) 的描述有错误.
 <img alt="issue" src="/assets/images/issue_photo-09addbbcbea6116f36fdad097e6c6265.png">
 <strong>解决方案</strong>:在 json 中,方括号表示数组,而花括号表示对象。这里明显是想表述是数组嵌套数组的方式,但是用两个花括号在 json 里面是错误的书写方式。所以这里应该是方括号。</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span></s [...]
@@ -37,7 +37,7 @@
 屠正松同学的采访文章,下回我们会采访哪位社区的小伙伴呢?快来 Apache APISIX 社区瞧一瞧吧!没准,下一位 committer 就是你!</p></li><li><p><a href="https://mp.weixin.qq.com/s/oARDFf_48X99MXBwoXcSHw" target="_blank" rel="noopener noreferrer">舍弃 Kong 和 Nginx,Apache APISIX 在趣链科技 BaaS 平台的落地实践</a><br>
 介绍了 Apache APISIX 在趣链科技 BaaS 平台中的落地实践情况,以及趣链科技在众多网关应用中选择 Apache APISIX 的原因。</p></li><li><p><a href="https://mp.weixin.qq.com/s/G1lQUdZ05_HlZLNcY9tflw" target="_blank" rel="noopener noreferrer">贡献者,是衡量开源项目的金指标</a><br>
 秉承 The Apache Way,我们相信,只有活跃的社区才能保证开源项目的未来。同时,我们也希望可以通过更加直观的图表来展示社区活跃度。</p></li></ul></div><footer class="row docusaurus-mt-lg blogPostDetailsFull_3kfx"><div class="col"><b>Tags:</b><ul class="tags_2ga9 padding--none margin-left--sm"><li class="tag_11ep"><a class="tag_1Okp tagRegular_3MiF" href="/blog/tags/events">Events</a></li></ul></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Blog post page navigation"><div class="pagination-nav__item"><a class="pagi [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/21/shanghai-meetup/index.html b/blog/2021/08/21/shanghai-meetup/index.html
index 6864e0e..e9c3609 100644
--- a/blog/2021/08/21/shanghai-meetup/index.html
+++ b/blog/2021/08/21/shanghai-meetup/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">August 21 Apache APISIX Meetup Shanghai, welcome to register! | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta da [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/23/ApacheCon-Asia-2021/index.html b/blog/2021/08/23/ApacheCon-Asia-2021/index.html
index e4f3070..54da208 100644
--- a/blog/2021/08/23/ApacheCon-Asia-2021/index.html
+++ b/blog/2021/08/23/ApacheCon-Asia-2021/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ApacheCon Asia 2021 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" c [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/23/weekly-report/index.html b/blog/2021/08/23/weekly-report/index.html
index bda8b7a..3373f84 100644
--- a/blog/2021/08/23/weekly-report/index.html
+++ b/blog/2021/08/23/weekly-report/index.html
@@ -14,12 +14,12 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link 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 社区周报 | 2021 8.16-8.22 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" pro [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 <strong>相关 PR</strong>:<a href="https://github.com/apache/apisix/pull/4817" target="_blank" rel="noopener noreferrer">https://github.com/apache/apisix/pull/4817</a><br>
 <strong>贡献者</strong>:<a href="https://github.com/RocFang" target="_blank" rel="noopener noreferrer">RocFang</a>  </p></li><li><p><strong>ext-plugin 插件支持 ExtraInfo</strong><br>
 <strong>相关 PR</strong>:<a href="https://github.com/apache/apisix/pull/4835" target="_blank" rel="noopener noreferrer">https://github.com/apache/apisix/pull/4835</a><br>
@@ -31,7 +31,7 @@
 这篇文章将详细讲解如何用 Go 来开发 Apache APISIX 插件。通过拥抱 Go 的生态圈,为 Apache APISIX 开创一片新天地,希望 Go 能让 Apache APISIX 如虎添翼!</p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzI1MDU3NjQ5OA==&amp;mid=2247486406&amp;idx=1&amp;sn=5d04353f3d8128f17fca138572667ddb&amp;chksm=e98160dbdef6e9cd19ddeed4267554a15bcd1a10decfa2c16f2989575bd9a1c9c95349b0c0cc&amp;token=1586118041&amp;lang=zh_CN#rd" target="_blank" rel="noopener noreferrer">Apache APISIX 在 Airwallex 的应用 | 专访 Airwallex 技术平台负责人李杨</a><br>
 Airwallex 空中云汇技术平台负责人李杨的专访,一起来听听空中云汇与 Apache APISIX 之间的故事。</p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzI1MDU3NjQ5OA==&amp;mid=2247486382&amp;idx=1&amp;sn=f041eb8c38dd528450e5bf4280b60b0f&amp;chksm=e98160b3def6e9a5331f9485d8a478f9546475f949a31f8142c4188d9c104d39eec9a281bbf2&amp;token=1586118041&amp;lang=zh_CN#rd" target="_blank" rel="noopener noreferrer">Apache APISIX 社区周报 | 2021 8.9-8.15</a><br>
 “独行者速,众行者远”。Apache APISIX 社区周报希望可以帮助社区小伙伴们更好地掌握 Apache APISIX 社区的每周进展,方便大家参与到 Apache APISIX 社区中来。</p></li></ul></div><footer class="row docusaurus-mt-lg blogPostDetailsFull_3kfx"><div class="col"><b>Tags:</b><ul class="tags_2ga9 padding--none margin-left--sm"><li class="tag_11ep"><a class="tag_1Okp tagRegular_3MiF" href="/blog/tags/events">Events</a></li></ul></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Blog post page navigation"><div class="paginatio [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/24/shanghai-meetup-recap/index.html b/blog/2021/08/24/shanghai-meetup-recap/index.html
index fed83be..3fbccb5 100644
--- a/blog/2021/08/24/shanghai-meetup-recap/index.html
+++ b/blog/2021/08/24/shanghai-meetup-recap/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Meetup in Shanghai | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" proper [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/25/Auth-with-Casbin-in-Apache-APISIX/index.html b/blog/2021/08/25/Auth-with-Casbin-in-Apache-APISIX/index.html
index 4731521..574fd49 100644
--- a/blog/2021/08/25/Auth-with-Casbin-in-Apache-APISIX/index.html
+++ b/blog/2021/08/25/Auth-with-Casbin-in-Apache-APISIX/index.html
@@ -14,12 +14,12 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Authorization with Casbin in Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="tr [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">policy_definition</span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">p </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> sub, obj, act</s [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">role_definition</span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">g </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> _, _</span></span> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">policy_effect</span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">e </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> some</span><span cla [...]
@@ -30,7 +30,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            [matchers]</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            m = (g(r.sub, p.sub) || keyMatch(r.sub, p.sub)) &amp;&amp; keyMatch(r.obj, p.obj) &amp;&amp; keyMatch(r.act, p.act)&quot;,</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="display:inline-block; [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            &quot;policy&quot;: &quot;p, *, /, GET</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            p, admin, *, *</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            g, alice, admin&quot;,</span></span><span class="token-line" style="color: [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            &quot;username&quot;: &quot;user&quot;</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">        }</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">    },</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="co [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/25/Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication/index.html b/blog/2021/08/25/Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication/index.html
index fbaed3e..53b7f4a 100644
--- a/blog/2021/08/25/Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication/index.html
+++ b/blog/2021/08/25/Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication/index.html
@@ -14,18 +14,18 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Centralized authentication using the OpenID Connect plug-in for Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apis [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 <img alt="Create an Okta application" src="/assets/images/2021-08-16-4-56246ab773e8514b6d7ff6e88a1ba575.png"><img alt="Select OIDC login mode and Web Application application type" src="/assets/images/2021-08-16-5-27949e296923f482ca03e52147040e5b.png"> 2.</li><li>Set the login and logout jump URLs.
 The &quot;Sign-in redirect URIs&quot; are the links that are allowed to be redirected after successful login, and the &quot;Sign-out redirect URIs&quot; are the links that are redirected after logging out. In this example, we set both the sign-in redirect and sign-out redirect URLs to <code>http://127.0.0.1:9080/</code>.
 <img alt="Set the login and logout URL" src="/assets/images/2021-08-16-6-f282419b7f52ab87487580f15b7789f3.png"></li><li>Click &quot;Save&quot; to save the changes after finishing the settings.
 <img alt="Save Changes" src="/assets/images/2021-08-16-7-b7ceb94a0cbdac698adcdd78dd290bbe.png">
 Visit the General page of the application to get the following configuration, which is required to configure Apache APISIX OpenID Connect.</li></ol><ul><li>Client ID: OAuth client ID, which is the ID of the application, corresponding to <code>client_id</code> and <code>{YOUR_CLIENT_ID}</code> below.</li><li>Client secret: OAuth client secret, i.e. application key, corresponds to <code>client_secret</code> and <code>{YOUR_CLIENT_SECRET}</code> below.</li><li>Okta domain: The domain name u [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/25/Why-Apache-APISIX-chose-Nginx-and-Lua/index.html b/blog/2021/08/25/Why-Apache-APISIX-chose-Nginx-and-Lua/index.html
index c751ee0..c89ea93 100644
--- a/blog/2021/08/25/Why-Apache-APISIX-chose-Nginx-and-Lua/index.html
+++ b/blog/2021/08/25/Why-Apache-APISIX-chose-Nginx-and-Lua/index.html
@@ -14,16 +14,16 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Why Apache APISIX chose Nginx and Lua to build API Gateway | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data- [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 Headers are always parsed in advance and stored as a <code>map [string][]string</code>, even if they are not used (see: <a href="https://github.com/valyala/fasthttp#faq" target="_blank" rel="noopener noreferrer">Fasthttp FAQ</a>).</p><p>The Fasthttp document also mentions some optimization skills for bytes matter, I would suggest that you take a look.</p><p>Actually, codes written in LuaJIT are not necessarily much worse than those written in Go. Here are two reasons:</p><p><strong>First [...]
 Second, LuaJIT’s JIT optimization is unparalleled.</p><p><strong>Secondly, LuaJIT has one of the best JIT Opitimizations.</strong></p><p>We could divide dynamic languages into two cases, with or without JIT. JIT optimization can compile dynamic language code into machine code at runtime, thus improving the performance of the original code by order of magnitude.</p><p>Languages with JIT can also be divided into two cases, those that fully support JIT (e.g LuaJIT) and those that only suppo [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">for i = 1, n do</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    io.write(text[i], &quot; &quot;, map[text[i]], &quot;\n&quot;)</span></span><span class="token-line" style="color:#393A34"><span class="token plain">end</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><di [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/27/release-apache-apisix-2.9/index.html b/blog/2021/08/27/release-apache-apisix-2.9/index.html
index 94d6b6e..154c58a 100644
--- a/blog/2021/08/27/release-apache-apisix-2.9/index.html
+++ b/blog/2021/08/27/release-apache-apisix-2.9/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.9 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og: [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/30/Ingress-Meeting/index.html b/blog/2021/08/30/Ingress-Meeting/index.html
index a6e0b7f..8d37d06 100644
--- a/blog/2021/08/30/Ingress-Meeting/index.html
+++ b/blog/2021/08/30/Ingress-Meeting/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Webinar| See you at the Apache APISIX Ingress Community Meeting on Wednesday at 2pm! | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apac [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 Participate in the community the Apache Way way by subscribing to the <a href="https://apisix.apache.org/docs/general/subscribe-guide" target="_blank" rel="noopener noreferrer">Subscription Guide</a>. The mailing list is the most common way for the Apache community to communicate, and the community will actively respond to questions on the mailing list.</p></li><li><p>Start a discussion in the Apache APISIX Github discussion
 The <a href="https://github.com/apache/apisix/discussions" target="_blank" rel="noopener noreferrer">discussion</a> area is very active. From time to time, we&#x27;ll also include a summary of frequently asked questions in the discussion to make them easier to find.</p></li></ol></div><footer class="row docusaurus-mt-lg blogPostDetailsFull_3kfx"><div class="col"><b>Tags:</b><ul class="tags_2ga9 padding--none margin-left--sm"><li class="tag_11ep"><a class="tag_1Okp tagRegular_3MiF" href=" [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/30/weekly-report/index.html b/blog/2021/08/30/weekly-report/index.html
index 64c07f5..a081c37 100644
--- a/blog/2021/08/30/weekly-report/index.html
+++ b/blog/2021/08/30/weekly-report/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Community Weekly Report | 2021 8.23-8.29 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-reac [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git "a/blog/2021/08/31/Apache APISIX \303\227 KubeSphere-a-better-gateway-and-K8S-Ingress-Controller/index.html" "b/blog/2021/08/31/Apache APISIX \303\227 KubeSphere-a-better-gateway-and-K8S-Ingress-Controller/index.html"
index d441104..3af4bb3 100644
--- "a/blog/2021/08/31/Apache APISIX \303\227 KubeSphere-a-better-gateway-and-K8S-Ingress-Controller/index.html"	
+++ "b/blog/2021/08/31/Apache APISIX \303\227 KubeSphere-a-better-gateway-and-K8S-Ingress-Controller/index.html"	
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX × KubeSphere: Providing a better gateway and K8S Ingress Controller | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache- [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">NAME              TYPE        CLUSTER-IP   EXTERNAL-IP   PORT</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">S</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain">   AGE</span></span><span class="token-line" style="color:#393A34"><span class="token plain">service/httpbin   ClusterIP   </span><span class="token numb [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/09/06/python-helps-you-quickly-with-Apache-APISIX-development/index.html b/blog/2021/09/06/python-helps-you-quickly-with-Apache-APISIX-development/index.html
index 3ee0833..115a18b 100644
--- a/blog/2021/09/06/python-helps-you-quickly-with-Apache-APISIX-development/index.html
+++ b/blog/2021/09/06/python-helps-you-quickly-with-Apache-APISIX-development/index.html
@@ -14,12 +14,12 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Python helps you develop Apache APISIX plugin | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 As a high-level programming language, it has a high degree of abstraction and shields a lot of underlying details (e.g., <code>GC</code>).
 ) allows us to focus more on the development of application logic in the development process. As a 30-year old development language, Python has a well-developed ecology and various modules, and most of our development and application scenarios can be found in mature modules or solutions from the community. <code>Python</code>
 We won&#x27;t go into all the other advantages. The disadvantages of <code>Python</code> are also obvious: <code>Python</code>, as an interpreted language, has a relatively large performance gap compared to compiled languages like <code>C++</code> and <code>Go</code>.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="apache-apisix-python-runner"></a>Apache APISIX Python Runner<a class="hash-link" href="#apache-apisix-python-runner" [...]
@@ -37,7 +37,7 @@ language.</p><p>When you configure a <code>Plugin Runner</code> in <code>Apache
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token comment" style="color:#999988;font-style:italic"># Set the response status code</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">        response</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">status_code </span><span class="token operator" style="color: [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token comment" style="color:#999988;font-style:italic"># Interrupt the request process by calling `self.stop()`, which will immediately respond to the client</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token comment" style="color:#999988;font-style:italic"># If `self.stop() [...]
 Let&#x27;s build a bridge between <code>Apache APISIX</code> and other languages together.</p><ul><li><a href="https://github.com/apache/apisix-python-plugin-runner" target="_blank" rel="noopener noreferrer">apisix-python-plugin-runner</a></li><li><a href="https://github.com/apache/apisix-go-plugin-runner" target="_blank" rel="noopener noreferrer">apisix-go-plugin-runner</a></li><li><a href="https://github.com/apache/apisix-java-plugin-runner" target="_blank" rel="noopener noreferrer">ap [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/09/07/how-to-use-apisix-auth/index.html b/blog/2021/09/07/how-to-use-apisix-auth/index.html
index f17a601..a8731bc 100644
--- a/blog/2021/09/07/how-to-use-apisix-auth/index.html
+++ b/blog/2021/09/07/how-to-use-apisix-auth/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Centralized Authentication with Apache APISIX and Advanced Tricks | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><met [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/09/07/iQIYI-usercase/index.html b/blog/2021/09/07/iQIYI-usercase/index.html
index ee3d352..9b8c852 100644
--- a/blog/2021/09/07/iQIYI-usercase/index.html
+++ b/blog/2021/09/07/iQIYI-usercase/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Based on Apache APISIX, iQIYI API Gateway Update and landing practice | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"> [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/09/09/how-to-contribute-to-an-OpenSource-without-coding/index.html b/blog/2021/09/09/how-to-contribute-to-an-OpenSource-without-coding/index.html
index 30d528d..fd09137 100644
--- a/blog/2021/09/09/how-to-contribute-to-an-OpenSource-without-coding/index.html
+++ b/blog/2021/09/09/how-to-contribute-to-an-OpenSource-without-coding/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How can I contribute to an open source project without writing code? | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png">< [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/09/13/china-mobile-cloud-usercase/index.html b/blog/2021/09/13/china-mobile-cloud-usercase/index.html
index dd2345d..3b47aa7 100644
--- a/blog/2021/09/13/china-mobile-cloud-usercase/index.html
+++ b/blog/2021/09/13/china-mobile-cloud-usercase/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How Apache APISIX is implemented in China Mobile Cloud | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-reac [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 In order to match our business requirements, we customize a constant constant as the range of imit-conn key. The right side of the above figure is the modified configuration after accessing Apache APISIX, and the constant constant constant key is used to achieve the function of global flow-limit.</p><p><img src="https://static.apiseven.com/202108/1631500546238-9fd5ebcf-d205-4d99-a34d-236d5589a7e6.png" alt="Global Flow-limit"></p><h3><a aria-hidden="true" tabindex="-1" class="anchor ancho [...]
 If a node has a problem upstream, it will be forwarded to other upstream nodes in the same AZ for processing (green line). If all upstream nodes hang, the ability to invoke requests across AZs (level2, red line) is implemented based on Apache APISIX, which writes the requests to other AZs and finally achieves request scheduling across AZs.</p><p><img src="https://static.apiseven.com/202108/1631500626933-473fdd62-dcee-42cc-93c2-93d83acd796c.png" alt="Cross Available Zones Request Scheduli [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/09/14/youzan/index.html b/blog/2021/09/14/youzan/index.html
index bdc7d80..bf0be56 100644
--- a/blog/2021/09/14/youzan/index.html
+++ b/blog/2021/09/14/youzan/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX powers the Youzanyun native PaaS platform for comprehensive micro-service governance | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apach [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/09/15/weekly-report/index.html b/blog/2021/09/15/weekly-report/index.html
index d6da693..b3dc60d 100644
--- a/blog/2021/09/15/weekly-report/index.html
+++ b/blog/2021/09/15/weekly-report/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Community Weekly|Two new committers, feature highlight updates in progress | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix. [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">casbin 1.26.0-1 depends on lrexlib-pcre &gt;= 2.9.1 (not installed)</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Installing https://luarocks.org/lrexlib-pcre-2.9.1-1.src.rock</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Error: Failed installing dependency: https://luarocks.org/casbin-1.26.0-1.rockspec - Failed installing dependency: https://luarocks.org/lrexlib-pcre-2.9.1-1.src.rock - Could not find header file for PCRE</span></span><span class="token-line" style="color:#393A34"><span class="token plain">  No file pcre.h in /usr/local/include</span></span><span class="token-line" style="color:#393A34"><span class="tok [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/09/16/tencent-cloud/index.html b/blog/2021/09/16/tencent-cloud/index.html
index 89b4462..a07d41d 100644
--- a/blog/2021/09/16/tencent-cloud/index.html
+++ b/blog/2021/09/16/tencent-cloud/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Implementing Apache APISIX in Tencent Cloud TI-ONE Platform | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/09/18/xiaodian-usercase/index.html b/blog/2021/09/18/xiaodian-usercase/index.html
index bcab4e3..e3733d8 100644
--- a/blog/2021/09/18/xiaodian-usercase/index.html
+++ b/blog/2021/09/18/xiaodian-usercase/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX helps DIAN to facilitate cloud native solution | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta dat [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/09/24/youpaicloud-usercase/index.html b/blog/2021/09/24/youpaicloud-usercase/index.html
index fcc2e02..f221930 100644
--- a/blog/2021/09/24/youpaicloud-usercase/index.html
+++ b/blog/2021/09/24/youpaicloud-usercase/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Why is Apache APISIX Ingress a new option for building container gateways into the UPYUN? | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/09/28/WPS-usercase/index.html b/blog/2021/09/28/WPS-usercase/index.html
index b0ad262..c2e5883 100644
--- a/blog/2021/09/28/WPS-usercase/index.html
+++ b/blog/2021/09/28/WPS-usercase/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">WPS has teamed up with Apache APISIX to create a new gateway experience | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/09/29/release-apache-apisix-2.10/index.html b/blog/2021/09/29/release-apache-apisix-2.10/index.html
index a45641e..904c73f 100644
--- a/blog/2021/09/29/release-apache-apisix-2.10/index.html
+++ b/blog/2021/09/29/release-apache-apisix-2.10/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.10.0 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/09/30/weekly-report/index.html b/blog/2021/09/30/weekly-report/index.html
index a343706..e44d179 100644
--- a/blog/2021/09/30/weekly-report/index.html
+++ b/blog/2021/09/30/weekly-report/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Community Weekly|New committer, feature highlight update in progress | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png">< [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/10/01/openEuler/index.html b/blog/2021/10/01/openEuler/index.html
index 6fe77db..25cebdc 100644
--- a/blog/2021/10/01/openEuler/index.html
+++ b/blog/2021/10/01/openEuler/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX community members help openEuler release first community innovation version | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/10/09/apisix-ingress-techblog/index.html b/blog/2021/10/09/apisix-ingress-techblog/index.html
index 18da210..57b3dcf 100644
--- a/blog/2021/10/09/apisix-ingress-techblog/index.html
+++ b/blog/2021/10/09/apisix-ingress-techblog/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">A thoughtful tutorial to get started with Apache APISIX Ingress from concept to practice | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 For more details, please refer to: <a href="https://www.apiseven.com/zh/blog/traffic-split-in-apache-apisix-ingress-controller" target="_blank" rel="noopener noreferrer">Traffic Segmentation in Apache APISIX Ingress Controller</a>.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="practice-scenario-2-configuring-authentication"></a>Practice Scenario 2: Configuring Authentication<a class="hash-link" href="#practice-scenario-2-config [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/10/13/celebrating-300-contributors-of-apisix/index.html b/blog/2021/10/13/celebrating-300-contributors-of-apisix/index.html
index a081778..ee81353 100644
--- a/blog/2021/10/13/celebrating-300-contributors-of-apisix/index.html
+++ b/blog/2021/10/13/celebrating-300-contributors-of-apisix/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">New milestone for the Apache APISIX community - over 300 contributors worldwide! | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-a [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 Follow <a href="https://space.bilibili.com/551921247" target="_blank" rel="noopener noreferrer">Apache APISIX bilibili</a> for past recaps.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="apache-apisix-ingress-online-discussion"></a>Apache APISIX Ingress Online Discussion<a class="hash-link" href="#apache-apisix-ingress-online-discussion" title="Direct link to heading">#</a></h3><p>The Apache APISIX Ingress project hosts bi-weekl [...]
 You can view the bi-weekly Weekly report by clicking Blog and selecting Events tag on the Apache APISIX official website.</p><p>Past recommendations.</p><ul><li><a href="https://apisix.apache.org/zh/blog/2021/09/15/weekly-report" target="_blank" rel="noopener noreferrer">Community Weekly Report|Two new committers, feature highlights update in progress</a></li><li><a href="https://apisix.apache.org/zh/blog/2021/08/30/weekly-report" target="_blank" rel="noopener noreferrer">Apache APISIX C [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/10/14/weekly-report-1014/index.html b/blog/2021/10/14/weekly-report-1014/index.html
index 8338337..24ed379 100644
--- a/blog/2021/10/14/weekly-report-1014/index.html
+++ b/blog/2021/10/14/weekly-report-1014/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Community Weekly|10.1-10.14 Feature Highlight Updates in Progress | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><met [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/10/18/meetup/index.html b/blog/2021/10/18/meetup/index.html
index ad26c0d..95b6828 100644
--- a/blog/2021/10/18/meetup/index.html
+++ b/blog/2021/10/18/meetup/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Webinar | Apache APISIX × Apache SkyWalking Online Meetup | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-r [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 <img src="https://apisix.apache.org/assets/images/2021-08-21-2-e9610756c89fec849caeb66361bce002.png" alt="Apache APISIX wechat"></p><p>See you live on Saturday, October 23rd at 14:00!</p></div><footer class="row docusaurus-mt-lg blogPostDetailsFull_3kfx"><div class="col"><b>Tags:</b><ul class="tags_2ga9 padding--none margin-left--sm"><li class="tag_11ep"><a class="tag_1Okp tagRegular_3MiF" href="/blog/tags/events">Events</a></li></ul></div></footer></article><nav class="pagination-nav do [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/10/22/cert-manager-in-ingress/index.html b/blog/2021/10/22/cert-manager-in-ingress/index.html
index 23ab9b5..85a3e59 100644
--- a/blog/2021/10/22/cert-manager-in-ingress/index.html
+++ b/blog/2021/10/22/cert-manager-in-ingress/index.html
@@ -14,18 +14,18 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Tutorial: How to use Cert Manager to manage certificates in Apache APISIX Ingress Controller | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">NAME                                TYPE        CLUSTER-IP      EXTERNAL-IP   PORT</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">S</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain">                      AGE</span></span><span class="token-line" style="color:#393A34"><span class="token plain">service/apisix-admin [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">NAME                                        READY   UP-TO-DATE   AVAILABLE   AGE</span></span><span class="token-line" style="color:#393A34"><span class="token plain">deployment.apps/apisix                      </span><span class="token number" style="color:#36acaa">1</span><span class="token plain">/1     </span><span class="token number" style="color:#36acaa">1</span><span class="token plain">        [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">NAME                                                   DESIRED   CURRENT   READY   AGE</span></span><span class="token-line" style="color:#393A34"><span class="token plain">replicaset.apps/apisix-5d99956d88                      </span><span class="token number" style="color:#36acaa">1</span><span class="token plain">         </span><span class="token number" style="color:#36acaa">1</span><span class="t [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">NAME                           READY   AGE</span></span><span class="token-line" style="color:#393A34"><span class="token plain">statefulset.apps/apisix-etcd   </span><span class="token number" style="color:#36acaa">2</span><span class="token plain">/3     57m</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">NAME                                     COMPLETIONS   DURATION   AGE</span></span><span class="token-line" style="color:#393A34"><span class="token plain">job.batch/cert-manager-startupapicheck   </span><span class="token number" style="color:#36acaa">1</span><span class="token plain">/1           6m24s      45m</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class= [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/10/26/APISIX-Ingress/index.html b/blog/2021/10/26/APISIX-Ingress/index.html
index 91624a3..58aeace 100644
--- a/blog/2021/10/26/APISIX-Ingress/index.html
+++ b/blog/2021/10/26/APISIX-Ingress/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">From 0 to 1, How APISIX Ingress Has Grown and Gained Since Joining The Community | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-a [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 <img src="https://static.apiseven.com/202108/1635304156096-c0eeb189-54f8-4ebe-b019-f41001869186.png" alt="GitHub Issue"></p><p>At present, the two discussions are initiated at the same time, so that as many people as possible can judge the reasonableness of the features from their own use scenarios and use perspectives. This is no longer a personal project, but a community project, a collaborative effort involving multiple people.</p><p>At the same time, the asynchronous discussion of th [...]
 <img src="https://static.apiseven.com/202108/1635304156072-ae9a3943-e686-4629-a5b7-0b5c38301139.png" alt="Deploying Apache APISIX Ingress Across Clusters"></p><p>There are two clusters in the above architecture, the formal cloud host cluster and the physical machine cluster. Apache APISIX Ingress Controller is deployed within each cluster, interacting with the Kubernetes API server while synchronizing the configuration to the Apache APISIX Admin API. APISIX clusters.</p><p>In cross-clust [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/10/29/Extension-guide/index.html b/blog/2021/10/29/Extension-guide/index.html
index 23f3313..e12a079 100644
--- a/blog/2021/10/29/Extension-guide/index.html
+++ b/blog/2021/10/29/Extension-guide/index.html
@@ -14,12 +14,12 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link 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 Extensions Guide | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">...</span></span><span class="token-line" style="color:#393A34"><span class="token plain">function _M.rewrite(conf, ctx)</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    ...</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    local consumer_conf = consumer_mod.plugin(plugin_name)</span></span><span class="token-line" style=" [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    local consumers = lrucache(&quot;consumers_key&quot;, consumer_conf.conf_version,</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        create_consume_cache, consumer_conf)</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    local consumer = consumers[key]</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    if not consumer then</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        return 401, {message = &quot;Invalid API key in request&quot;}</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    end</span>< [...]
@@ -30,7 +30,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">                return nil</span></span><span class="token-line" style="color:#393A34"><span class="token plain">            end</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">            if not ctx.balancer_tried_servers then</span></span><span class="token-line" style="color:#393A34"><span class="token plain">                ctx.balancer_tried_servers = core.tablepool.fetch(&quot;balancer_tried_servers&quot;, 0, 2)</span></span><span class="token-line" style="color:#393A34"><span class="token plain">            end</span></span><span class="token-line" style="color:#393A34 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">            ctx.balancer_tried_servers[server] = true</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        end,</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        before_retry_next_priority = function (ctx)</span></span><span class="token-line" style="color:#393A34"><span class="token plain">            if ctx.balancer_ [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/11/02/weekly-report-1031/index.html b/blog/2021/11/02/weekly-report-1031/index.html
index 8290801..a00b124 100644
--- a/blog/2021/11/02/weekly-report-1031/index.html
+++ b/blog/2021/11/02/weekly-report-1031/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Weekly Report|10.15-10.31 Feature Highlights Update in Progress | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta  [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">location = /mirror {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">internal;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">proxy_pass http://test_backend$request_uri;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">}</span></span></code></pre><button type="button" aria-label="Copy code  [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/11/03/airwallex-usercase/index.html b/blog/2021/11/03/airwallex-usercase/index.html
index 296f42c..d7bfeed 100644
--- a/blog/2021/11/03/airwallex-usercase/index.html
+++ b/blog/2021/11/03/airwallex-usercase/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How Apache APISIX protects Airwallex data sovereignty through the gateway layer | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-ap [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 With regard to the need for data to comply with local laws, there are indeed a lot of concerns in multinational operations.</p><p>For example, the American Patriot Act requires all data stored in the United States, or data stored by American companies, to be regulated in the United States, and the US Department of Justice and CIA can require companies to provide data.</p><p>After 9 / 11, 2013, the Justice Department asked Microsoft to provide some of the email information it stored on it [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/11/04/skywalking/index.html b/blog/2021/11/04/skywalking/index.html
index 433eea8..a28ce53 100644
--- a/blog/2021/11/04/skywalking/index.html
+++ b/blog/2021/11/04/skywalking/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">The observability of Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" prop [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/11/12/apisix-datadog/index.html b/blog/2021/11/12/apisix-datadog/index.html
index b8d7cd3..3c26ab1 100644
--- a/blog/2021/11/12/apisix-datadog/index.html
+++ b/blog/2021/11/12/apisix-datadog/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Cloud Monitoring with Datadog in Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 <img src="https://static.apiseven.com/202108/1636685007445-05f134fd-e80a-4173-b1d7-f0a118087998.png" alt="Generate an API Key"></li></ol></li><li><p>APISIX-Datadog plugin requires only the dogstatsd component of <code>datadog/agent</code> as the plugin asynchronously send metrics to the dogstatsd server following the statsd protocol over standard UDP socket. That&#x27;s why APISIX recommends using the standalone <code>datadog/dogstatsd</code> image instead of using the full agent. It&#x2 [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/11/16/weekly-report-1114/index.html b/blog/2021/11/16/weekly-report-1114/index.html
index 566492a..d58d8c1 100644
--- a/blog/2021/11/16/weekly-report-1114/index.html
+++ b/blog/2021/11/16/weekly-report-1114/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Weekly Report|11.1-11.14 Feature Highlights Update in Progress | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta d [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/11/17/dapr-with-apisix/index.html b/blog/2021/11/17/dapr-with-apisix/index.html
index 8e73b27..3ccc724 100644
--- a/blog/2021/11/17/dapr-with-apisix/index.html
+++ b/blog/2021/11/17/dapr-with-apisix/index.html
@@ -14,16 +14,16 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link 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 integrate with Dapr to build Apache APISIX Gateway Controller | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png">< [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">gateway</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">type</span><span class="token punctuation" style="color:#393A34">:</span><span class="token pl [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">ingress-controller</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">enabled</span><span class="token punctuation" style="color:#393A34">:</span><span c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">dashboard</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">enabled</span><span class="token punctuation" style="color:#393A34">:</span><span class="tok [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/11/19/apisix-supports-wasm/index.html b/blog/2021/11/19/apisix-supports-wasm/index.html
index 4fb6efb..12fb893 100644
--- a/blog/2021/11/19/apisix-supports-wasm/index.html
+++ b/blog/2021/11/19/apisix-supports-wasm/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX embraces the WASM ecosystem | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="tru [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 If a programming language provides the ability to compile to WASM bytecode, applications written in that language can be compiled to WASM bytecode and run in some WASM-enabled host environment.</p><p>Doesn&#x27;t it sound like you can run any application like an operating system as long as the host environment supports WASM?</p><p>But there is a limitation here. Just like an operating system needs to implement a specific standard syscall, in order to run a specific application, you need  [...]
 These three approaches are very different in various aspects such as ecology and maturity. It just so happens that we can use them all for fault-injection, so we can compare them.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="step-1-configure-routing"></a>Step 1: Configure Routing<a class="hash-link" href="#step-1-configure-routing" title="Direct link to heading">#</a></h3><p>The Lua way of fault-injection, naturally, uses the  [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/11/22/develop-apisix-ingress-with-nocalhost-in-kubernetes/index.html b/blog/2021/11/22/develop-apisix-ingress-with-nocalhost-in-kubernetes/index.html
index cb91d50..4c03f7f 100644
--- a/blog/2021/11/22/develop-apisix-ingress-with-nocalhost-in-kubernetes/index.html
+++ b/blog/2021/11/22/develop-apisix-ingress-with-nocalhost-in-kubernetes/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Developing APISIX Ingress Controller with Nocalhost in Kubernetes | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><met [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/11/23/cve-2021-43557-research-report/index.html b/blog/2021/11/23/cve-2021-43557-research-report/index.html
index e282889..2b462c5 100644
--- a/blog/2021/11/23/cve-2021-43557-research-report/index.html
+++ b/blog/2021/11/23/cve-2021-43557-research-report/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX request_uri variable is not properly controlled, with risk of path penetration | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">kubectl </span><span class="token builtin class-name">exec</span><span class="token plain"> -it -n ingress-apisix apisix-dc9d99d76-vl5lh -- </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> --path-as-is http://127.0.0.1:9080</span><span class="token variable" style="color:#36acaa">$1</span><span class="token plain"> -H </span><span class="token string" styl [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/11/23/cve-2021-43557/index.html b/blog/2021/11/23/cve-2021-43557/index.html
index 496a5df..9f7a6eb 100644
--- a/blog/2021/11/23/cve-2021-43557/index.html
+++ b/blog/2021/11/23/cve-2021-43557/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Path traversal in request_uri variable(CVE-2021-43557) | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png">< [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 CVE details: <a href="https://nvd.nist.gov/vuln/detail/CVE-2021-43557" target="_blank" rel="noopener noreferrer">https://nvd.nist.gov/vuln/detail/CVE-2021-43557</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="contributor-profile"></a>Contributor Profile<a class="hash-link" href="#contributor-profile" title="Direct link to heading">#</a></h2><p>The vulnerability was discovered by community user Marcin Niemiec (GitHub<a href="h [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/11/26/apache-apisix-committer-experience/index.html b/blog/2021/11/26/apache-apisix-committer-experience/index.html
index 6529019..fa35a42 100644
--- a/blog/2021/11/26/apache-apisix-committer-experience/index.html
+++ b/blog/2021/11/26/apache-apisix-committer-experience/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Contributer to Committer journey @Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helme [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 I am <strong>Shivam Singh</strong>, an undergraduate student from <strong>Indian Institute of Information Technology, Una, India</strong>. I recently became a <strong>Committer at Apache APISIX</strong>, and hence a <strong>member of the Apache Software Foundation</strong>. I&#x27;m a Full-stack Engineer and Product designer who believes that every great product is a culmination of Engineering &amp; Design with a blend of art to bring visual delight while effectively &amp; efficiently so [...]
 <a href="mailto:singhsh@apache.org" target="_blank" rel="noopener noreferrer">Mail</a>, <a href="https://github.com/1502shivam-singh/" target="_blank" rel="noopener noreferrer">GitHub</a>, <a href="https://twitter.com/Shivam15_" target="_blank" rel="noopener noreferrer">Twitter</a></p></blockquote></div><footer class="row docusaurus-mt-lg blogPostDetailsFull_3kfx"><div class="col"><b>Tags:</b><ul class="tags_2ga9 padding--none margin-left--sm"><li class="tag_11ep"><a class="tag_1Okp tagR [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/11/30/use-apisix-ingress-in-kubesphere/index.html b/blog/2021/11/30/use-apisix-ingress-in-kubesphere/index.html
index 96ddd0a..4ebb4dd 100644
--- a/blog/2021/11/30/use-apisix-ingress-in-kubesphere/index.html
+++ b/blog/2021/11/30/use-apisix-ingress-in-kubesphere/index.html
@@ -14,12 +14,12 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Using Apache APISIX Ingress Gateway to access Custom Monitoring in KubeSphere | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apis [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">nameOverride</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;&#x27;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="colo [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">gateway</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">type</span><span class="token punctuation" style="color:#393A34">:</span><span class="token pl [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">admin</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">enabled</span><span class="token punctuation" style="color:#393A34">:</span><span class="token p [...]
@@ -32,7 +32,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">etcd</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">enabled</span><span class="token punctuation" style="color:#393A34">:</span><span class="token pl [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">dashboard</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">enabled</span><span class="token punctuation" style="color:#393A34">:</span><span class="tok [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">ingress-controller</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">enabled</span><span class="token punctuation" style="color:#393A34">:</span><span c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/12/01/apisix-supports-azure-functions/index.html b/blog/2021/12/01/apisix-supports-azure-functions/index.html
index afb5a97..91cfc06 100644
--- a/blog/2021/12/01/apisix-supports-azure-functions/index.html
+++ b/blog/2021/12/01/apisix-supports-azure-functions/index.html
@@ -14,19 +14,19 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link 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&#x27;s intergration with Azure Serverless | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-rea [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 <img src="https://static.apiseven.com/202108/1638349069240-911b8640-2de6-4f82-b75b-fb937b0bad40.png" alt="create a resource group"></li><li>Create a function app with the URL of your choice (I am going to pick test-apisix).
 <img src="https://static.apiseven.com/202108/1638349121520-01abe8e6-bc09-4be7-b010-f7baec59f89a.png" alt="create a function app"></li></ol></li><li><p>Install the <a href="https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions" target="_blank" rel="noopener noreferrer">Azure Functions extension</a> into VSCode editor. Upon installation, authenticate via extension and install the azure function core tool for local development with:</p><div class="codeBlock [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> name </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> req</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">query</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-a [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">context</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">res</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Hello, Bisakh</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Considering, Apache APISIX is also running with <code>enable_http2: true</code> on <a href="https://github.com/apache/apisix/blob/master/conf/config-default.yaml#L26" target="_blank" rel="noopener noreferrer">config-default.yaml</a> for port 908 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Hello, Bisakh</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="deactivate-the-azure-functions-plugin"></a>Deactivate the azure-functions plugin<a class="hash-link" href="#deactivate-the-azure-functions-plugi [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/12/02/weekly-report-1130/index.html b/blog/2021/12/02/weekly-report-1130/index.html
index e5b00ea..9f4c6ac 100644
--- a/blog/2021/12/02/weekly-report-1130/index.html
+++ b/blog/2021/12/02/weekly-report-1130/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Biweekly Report|11.15-11.30 Feature Highlights Update in Progress | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><met [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/12/07/apisix-integrate-skywalking-plugin/index.html b/blog/2021/12/07/apisix-integrate-skywalking-plugin/index.html
deleted file mode 100644
index 1c79acc..0000000
--- a/blog/2021/12/07/apisix-integrate-skywalking-plugin/index.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr">
-<head>
-<meta charset="UTF-8">
-<meta name="viewport" content="width=device-width,initial-scale=1">
-<meta name="generator" content="Docusaurus v2.0.0-beta.6">
-<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
-<link rel="preconnect" href="https://www.google-analytics.com">
-<link rel="preconnect" href="https://www.googletagmanager.com">
-<script async src="https://www.googletagmanager.com/gtag/js?id=G-WQLBQL6GY3"></script>
-<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-WQLBQL6GY3",{})</script>
-<link rel="search" type="application/opensearchdescription+xml" title="Apache APISIX® -- Cloud-Native API Gateway" href="/opensearch.xml">
-<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
-<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
-<link 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 Integrates with SkyWalking to Create a Full Fange of Log Processing | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache- [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
-</head>
-<body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        extractor </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token key atrule" style="color:#00a4db">tag routeId</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> parsed.route_id</span></span [...]
-</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        sink </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
-</body>
-</html>
\ No newline at end of file
diff --git a/blog/archive/index.html b/blog/archive/index.html
index 2e8a3ed..3a8f39f 100644
--- a/blog/archive/index.html
+++ b/blog/archive/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Archive | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Archive | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/atom.xml b/blog/atom.xml
index 9bd4757..34ca1e6 100644
--- a/blog/atom.xml
+++ b/blog/atom.xml
@@ -2,23 +2,12 @@
 <feed xmlns="http://www.w3.org/2005/Atom">
     <id>https://apisix.apache.org/blog</id>
     <title>Apache APISIX® -- Cloud-Native API Gateway Blog</title>
-    <updated>2021-12-07T00:00:00.000Z</updated>
+    <updated>2021-12-02T00:00:00.000Z</updated>
     <generator>https://github.com/jpmonette/feed</generator>
     <link rel="alternate" href="https://apisix.apache.org/blog"/>
     <subtitle>Apache APISIX® -- Cloud-Native API Gateway Blog</subtitle>
     <icon>https://apisix.apache.org/img/favicon.png</icon>
     <entry>
-        <title type="html"><![CDATA[Apache APISIX Integrates with SkyWalking to Create a Full Fange of Log Processing]]></title>
-        <id>Apache APISIX Integrates with SkyWalking to Create a Full Fange of Log Processing</id>
-        <link href="https://apisix.apache.org/blog/2021/12/07/apisix-integrate-skywalking-plugin"/>
-        <updated>2021-12-07T00:00:00.000Z</updated>
-        <summary type="html"><![CDATA[This paper mainly introduces two Apache APISIX integrated SkyWalking log plug-ins to provide a more convenient operation and environment for log processing in Apache APISIX.]]></summary>
-        <author>
-            <name>Haochao Zhuang</name>
-            <uri>https://github.com/dmsolr</uri>
-        </author>
-    </entry>
-    <entry>
         <title type="html"><![CDATA[Biweekly Report|11.15-11.30 Feature Highlights Update in Progress]]></title>
         <id>Biweekly Report|11.15-11.30 Feature Highlights Update in Progress</id>
         <link href="https://apisix.apache.org/blog/2021/12/02/weekly-report-1130"/>
diff --git a/blog/index.html b/blog/index.html
index f49f5ff..7d94925 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 87ab0d9..3b4d669 100644
--- a/blog/page/2/index.html
+++ b/blog/page/2/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 23e9c6c..8ab2c6a 100644
--- a/blog/page/3/index.html
+++ b/blog/page/3/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/page/4/index.html b/blog/page/4/index.html
index 9596b5d..1f35991 100644
--- a/blog/page/4/index.html
+++ b/blog/page/4/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/page/5/index.html b/blog/page/5/index.html
index 062ba3b..efb2d9a 100644
--- a/blog/page/5/index.html
+++ b/blog/page/5/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/page/6/index.html b/blog/page/6/index.html
index c29684d..6a7b714 100644
--- a/blog/page/6/index.html
+++ b/blog/page/6/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/page/7/index.html b/blog/page/7/index.html
index 5756f8c..5df32de 100644
--- a/blog/page/7/index.html
+++ b/blog/page/7/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/page/8/index.html b/blog/page/8/index.html
index 26f0326..79c39e8 100644
--- a/blog/page/8/index.html
+++ b/blog/page/8/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/page/9/index.html b/blog/page/9/index.html
index ce215bc..419bb13 100644
--- a/blog/page/9/index.html
+++ b/blog/page/9/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/rss.xml b/blog/rss.xml
index c9f4a02..0941921 100644
--- a/blog/rss.xml
+++ b/blog/rss.xml
@@ -4,17 +4,10 @@
         <title>Apache APISIX® -- Cloud-Native API Gateway Blog</title>
         <link>https://apisix.apache.org/blog</link>
         <description>Apache APISIX® -- Cloud-Native API Gateway Blog</description>
-        <lastBuildDate>Tue, 07 Dec 2021 00:00:00 GMT</lastBuildDate>
+        <lastBuildDate>Thu, 02 Dec 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 Integrates with SkyWalking to Create a Full Fange of Log Processing]]></title>
-            <link>https://apisix.apache.org/blog/2021/12/07/apisix-integrate-skywalking-plugin</link>
-            <guid>Apache APISIX Integrates with SkyWalking to Create a Full Fange of Log Processing</guid>
-            <pubDate>Tue, 07 Dec 2021 00:00:00 GMT</pubDate>
-            <description><![CDATA[This paper mainly introduces two Apache APISIX integrated SkyWalking log plug-ins to provide a more convenient operation and environment for log processing in Apache APISIX.]]></description>
-        </item>
-        <item>
             <title><![CDATA[Biweekly Report|11.15-11.30 Feature Highlights Update in Progress]]></title>
             <link>https://apisix.apache.org/blog/2021/12/02/weekly-report-1130</link>
             <guid>Biweekly Report|11.15-11.30 Feature Highlights Update in Progress</guid>
diff --git a/blog/tags/community/index.html b/blog/tags/community/index.html
index 3501cfd..363efae 100644
--- a/blog/tags/community/index.html
+++ b/blog/tags/community/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">3 posts tagged with &quot;Community&quot; | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="3 posts tagged with &quot;Community&quot; | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-ap [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/tags/events/index.html b/blog/tags/events/index.html
index ac5ed4a..35542d7 100644
--- a/blog/tags/events/index.html
+++ b/blog/tags/events/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">19 posts tagged with &quot;Events&quot; | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="19 posts tagged with &quot;Events&quot; | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/tags/index.html b/blog/tags/index.html
index 8d493ee..0a49f17 100644
--- a/blog/tags/index.html
+++ b/blog/tags/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Tags | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Tags | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/tags/interview/index.html b/blog/tags/interview/index.html
index 87feaa4..41af827 100644
--- a/blog/tags/interview/index.html
+++ b/blog/tags/interview/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">5 posts tagged with &quot;Interview&quot; | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="5 posts tagged with &quot;Interview&quot; | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-ap [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/tags/practical-case/index.html b/blog/tags/practical-case/index.html
index f669665..b3cbcbd 100644
--- a/blog/tags/practical-case/index.html
+++ b/blog/tags/practical-case/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">16 posts tagged with &quot;Practical Case&quot; | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="16 posts tagged with &quot;Practical Case&quot; | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/i [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/tags/release/index.html b/blog/tags/release/index.html
index 811df69..1699e31 100644
--- a/blog/tags/release/index.html
+++ b/blog/tags/release/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">7 posts tagged with &quot;Release&quot; | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="7 posts tagged with &quot;Release&quot; | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/tags/security/index.html b/blog/tags/security/index.html
index a593299..9df246c 100644
--- a/blog/tags/security/index.html
+++ b/blog/tags/security/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">3 posts tagged with &quot;Security&quot; | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="3 posts tagged with &quot;Security&quot; | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apis [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/tags/technology/index.html b/blog/tags/technology/index.html
index 1d93784..5c81cbb 100644
--- a/blog/tags/technology/index.html
+++ b/blog/tags/technology/index.html
@@ -13,14 +13,14 @@
 <link rel="search" type="application/opensearchdescription+xml" title="Apache APISIX® -- Cloud-Native API Gateway" href="/opensearch.xml">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">23 posts tagged with &quot;Technology&quot; | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="23 posts tagged with &quot;Technology&quot; | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apach [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">22 posts tagged with &quot;Technology&quot; | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="22 posts tagged with &quot;Technology&quot; | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apach [...]
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/tags/user-case/index.html b/blog/tags/user-case/index.html
index ef2a462..6c1d277 100644
--- a/blog/tags/user-case/index.html
+++ b/blog/tags/user-case/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">12 posts tagged with &quot;User Case&quot; | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="12 posts tagged with &quot;User Case&quot; | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache- [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/contribute/ContributeCard/index.html b/contribute/ContributeCard/index.html
index fc5dfea..cb6bba0 100644
--- a/contribute/ContributeCard/index.html
+++ b/contribute/ContributeCard/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true"></title><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/css/styles.4ccf253e.css">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div class="ContributeCard__Card-sc-14oe329-0 cibYed"><div class="ContributeCard__ProjectTitle-sc-14oe329-1 avFYQ"><p class="ContributeCard__Title-sc-14oe329-2 hsAYBj"></p><div class="ContributeCard__Issue-sc-14oe329-3 bdczRa">0 issues</div></div><div></div><div class="ContributeCard__ProjectDesc-sc-14oe329-4 dgkUIF"><div style="margin-right:1rem">Star: </div><div style="margin-right:1rem">Watch: </div><div style="margin-right:1rem">Fork: </div></div><div class="ContributeCard__List-sc-1 [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/contribute/index.html b/contribute/index.html
index e0a8086..925c8bb 100644
--- a/contribute/index.html
+++ b/contribute/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.ap [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/FAQ/index.html b/docs/apisix/2.10/FAQ/index.html
index cfdd201..6fd26ac 100644
--- a/docs/apisix/2.10/FAQ/index.html
+++ b/docs/apisix/2.10/FAQ/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https:// [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ See the <code>Hot reload</code> section in <a href="/docs/apisix/2.10/plugins">p
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ acme.sh  --issue  --staging  -d demo.domain --renew-hook </span><span class="token string" style="color:#e3116c">&quot;/root/.acme.sh/renew-hook-update-apisix.sh  -h http://apisix-admin:port -p /root/.acme.sh/demo.domain/demo.domain.cer -k /root/.acme.sh/demo.domain/demo.domain.key -a xxxxxxxxxxxxx&quot;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><spa [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ acme.sh --renew --domain demo.domain</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Blog <a href="https://juejin.cn/post/6965778290619449351" target="_blank" rel="noopener noreferrer">https://juejin.cn/post/6965778290619449351</a> has detail setup.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-strip-route-prefix-for-path-matching"></a>How to strip route prefi [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/IGNORE_DOC/index.html b/docs/apisix/2.10/IGNORE_DOC/index.html
index 0fee184..c1728ed 100644
--- a/docs/apisix/2.10/IGNORE_DOC/index.html
+++ b/docs/apisix/2.10/IGNORE_DOC/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/admin-api/index.html b/docs/apisix/2.10/admin-api/index.html
index 317277e..ca1501e 100644
--- a/docs/apisix/2.10/admin-api/index.html
+++ b/docs/apisix/2.10/admin-api/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Admin API | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="ht [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -84,7 +84,7 @@ This feature requires APISIX to run on <a href="/docs/apisix/2.10/how-to-build#s
 used when all the nodes with higher priority are unavailable or tried.</p><p>As the default priority is 0, we can configure nodes with negative priority as the backup.</p><p>For example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="tok [...]
 Therefore, it is the backup of <code>127.0.0.1</code>.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="response-parameters-3"></a>Response Parameters<a class="hash-link" href="#response-parameters-3" title="Direct link to heading">#</a></h3><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7- [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;http://127.0.0.1:9080/apisix/admin/plugins/key-auth&quot;</span><span class="token plain"> -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"></span> [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/apisix/index.html b/docs/apisix/2.10/architecture-design/apisix/index.html
index 3f87689..1883c2a 100644
--- a/docs/apisix/2.10/architecture-design/apisix/index.html
+++ b/docs/apisix/2.10/architecture-design/apisix/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 and keep other configurations as default. The configuration in <code>config.yaml</code> should be like this:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuati [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">etcd</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">host</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/consumer/index.html b/docs/apisix/2.10/architecture-design/consumer/index.html
index df0e6b2..fea9d19 100644
--- a/docs/apisix/2.10/architecture-design/consumer/index.html
+++ b/docs/apisix/2.10/architecture-design/consumer/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Consumer | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Use the <a href="/docs/apisix/2.10/plugins/consumer-restriction">consumer-restriction</a> plug-in to restrict the access of Jack to this API.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Repeated tests, all return 403; Jack is forbidden to access this API</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/hello -H </span><spa [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/architecture-design/consumer.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20"  [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/debug-mode/index.html b/docs/apisix/2.10/architecture-design/debug-mode/index.html
index 1040d94..ffb3496 100644
--- a/docs/apisix/2.10/architecture-design/debug-mode/index.html
+++ b/docs/apisix/2.10/architecture-design/debug-mode/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Mode | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -23,7 +23,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If the information can not be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker re [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </ [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/global-rule/index.html b/docs/apisix/2.10/architecture-design/global-rule/index.html
index 5101e3b..3b7e3b0 100644
--- a/docs/apisix/2.10/architecture-design/global-rule/index.html
+++ b/docs/apisix/2.10/architecture-design/global-rule/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Global rule | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 We can register a global <a href="/docs/apisix/2.10/architecture-design/plugin">Plugin</a> with <code>GlobalRule</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/index.html b/docs/apisix/2.10/architecture-design/index.html
index ccc9ead..b4a9e41 100644
--- a/docs/apisix/2.10/architecture-design/index.html
+++ b/docs/apisix/2.10/architecture-design/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Architecture Design | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" c [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -40,7 +40,7 @@ will be merged into it. The same plugin in the plugin config will override one i
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If the information can be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker re [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </ [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/plugin-config/index.html b/docs/apisix/2.10/architecture-design/plugin-config/index.html
index 6f81f35..277c26d 100644
--- a/docs/apisix/2.10/architecture-design/plugin-config/index.html
+++ b/docs/apisix/2.10/architecture-design/plugin-config/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Config | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -23,7 +23,7 @@
 bind it with a route directly.</p><p>For instance, you can do something like:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># create a plugin config</span><span class="token plain [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># bind it to route</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span><span class="token string" style="color: [...]
 will be merged into it. The same plugin in the plugin config will override one in the <code>plugins</code>.</p><p>For example, when we configure a plugin config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="col [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/plugin/index.html b/docs/apisix/2.10/architecture-design/plugin/index.html
index ffa5aa8..7d98b26 100644
--- a/docs/apisix/2.10/architecture-design/plugin/index.html
+++ b/docs/apisix/2.10/architecture-design/plugin/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 then its execution will be skipped.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="hot-reload-in-stand-alone-mode"></a>Hot reload in stand-alone mode<a class="hash-link" href="#hot-reload-in-stand-alone-mode" title="Direct link to heading">#</a></h3><p>For stand-alone mode, see plugin related section in <a href="/docs/apisix/2.10/stand-alone">stand alone mode</a>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/route/index.html b/docs/apisix/2.10/architecture-design/route/index.html
index 04fa7b6..16f17a1 100644
--- a/docs/apisix/2.10/architecture-design/route/index.html
+++ b/docs/apisix/2.10/architecture-design/route/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Route | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https: [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;value&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/router/index.html b/docs/apisix/2.10/architecture-design/router/index.html
index 98f4a53..ab952f1 100644
--- a/docs/apisix/2.10/architecture-design/router/index.html
+++ b/docs/apisix/2.10/architecture-design/router/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/script/index.html b/docs/apisix/2.10/architecture-design/script/index.html
index ef5459e..eab83e1 100644
--- a/docs/apisix/2.10/architecture-design/script/index.html
+++ b/docs/apisix/2.10/architecture-design/script/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Script | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/service/index.html b/docs/apisix/2.10/architecture-design/service/index.html
index c5bed4c..e84ac3e 100644
--- a/docs/apisix/2.10/architecture-design/service/index.html
+++ b/docs/apisix/2.10/architecture-design/service/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Service | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="http [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># create new Route and reference the service by id `200`</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/100 -H </span><s [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/101 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">&#x27;</span></span><span class="token-line" styl [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/upstream/index.html b/docs/apisix/2.10/architecture-design/upstream/index.html
index ccca514..4c0a9cd 100644
--- a/docs/apisix/2.10/architecture-design/upstream/index.html
+++ b/docs/apisix/2.10/architecture-design/upstream/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Upstream | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/aws/index.html b/docs/apisix/2.10/aws/index.html
index e2c3632..f1fd4f9 100644
--- a/docs/apisix/2.10/aws/index.html
+++ b/docs/apisix/2.10/aws/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Running APISIX in AWS with AWS CDK | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" prop [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -42,7 +42,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Non-authoritative answer:</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Name:   apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Address: </span><span class="token number" style="color:#36acaa">44.224</span><span class="token plain">.124.213</span></span><sp [...]
 <img src="https://cdn.jsdelivr.net/gh/apache/apisix@release/2.10/docs/assets/images/aws-define-service.png">
 <img src="https://cdn.jsdelivr.net/gh/apache/apisix@release/2.10/docs/assets/images/aws-define-route.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="validation"></a>Validation<a class="hash-link" href="#validation" title="Direct link to heading">#</a></h2><p>OK. Let&#x27;s test the <code>/index.php</code> on <code>{apiSix.ApiSixServiceServiceURL}/index.php</code></p><p><img src="https://cdn.jsdelivr.net/gh/apache/apisix@rel [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/batch-processor/index.html b/docs/apisix/2.10/batch-processor/index.html
index fe3f6fe..3c7b5b8 100644
--- a/docs/apisix/2.10/batch-processor/index.html
+++ b/docs/apisix/2.10/batch-processor/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Batch Processor | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conte [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -30,7 +30,7 @@ argument and the batch configuration as the second parameter.</p><div class="cod
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">if batch_processor then</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    batch_processor:push({hello=&#x27;world&#x27;})</span></span><span class="token-line" style="color:#393A34"><span class="token plain">end</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Note: P [...]
 The timer to flush the batch runs based on the <code>inactive_timeout</code> configuration. Thus, for optimal usage,
 keep the <code>inactive_timeout</code> smaller than the <code>buffer_duration</code>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/batch-processor.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><pat [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/benchmark/index.html b/docs/apisix/2.10/benchmark/index.html
index fd4dcab..657df31 100644
--- a/docs/apisix/2.10/benchmark/index.html
+++ b/docs/apisix/2.10/benchmark/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Benchmark | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="ht [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@ and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class=
 <img src="https://cdn.jsdelivr.net/gh/apache/apisix@release/2.10/docs/assets/images/flamegraph-1.jpg" alt="flamegraph-1"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class=" [...]
 and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor anchor__h4 anchorWithHideOnScrollNavbar_3R7-" id="qps-1"></a>QPS<a class="hash-link" href="#qps-1" title="Direct link to heading">#</a></h4><p>The x-axis means the size of CPU core, and the y-axis is QPS.</p><p><img src="https://cdn.jsdelivr.net/gh/apache/apisix@release/2.10/docs/assets/images/benchmark-2.jpg" alt="benchmark-2"></p><h4><a aria-hidden="true" tabindex="-1" class="anchor anchor__h4 ancho [...]
 <img src="https://cdn.jsdelivr.net/gh/apache/apisix@release/2.10/docs/assets/images/flamegraph-2.jpg" alt="flamegraph-2"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class=" [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/certificate/index.html b/docs/apisix/2.10/certificate/index.html
index 0c9f0cc..b76a6ce 100644
--- a/docs/apisix/2.10/certificate/index.html
+++ b/docs/apisix/2.10/certificate/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Certificate | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -35,7 +35,7 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
 first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
 private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
 pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/certificate.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 1 [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/control-api/index.html b/docs/apisix/2.10/control-api/index.html
index 47986e3..71535aa 100644
--- a/docs/apisix/2.10/control-api/index.html
+++ b/docs/apisix/2.10/control-api/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Control API | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ of fields like <code>consumer_schema</code> or <code>type</code>, it is depended
 definition.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="get-v1healthcheck"></a>GET /v1/healthcheck<a class="hash-link" href="#get-v1healthcheck" title="Direct link to heading">#</a></h3><p>Introduced since <code>v2.3</code>.</p><p>Return current <a href="/docs/apisix/2.10/health-check">health check</a> status in the format below:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex="0" [...]
 object with id 1 creates a health checker, the <code>src_type</code> is <code>upstreams</code> and the <code>src_id</code> is <code>1</code>.</li><li>name: the name of the health checker.</li><li>nodes: the target nodes of the health checker.</li><li>healthy_nodes: the healthy node known by the health checker.</li></ul><p>User can also use <code>/v1/healthcheck/$src_type/$src_id</code> can get the status of a health checker.</p><p>For example, <code>GET /v1/healthcheck/upstreams/1</code> [...]
 Note that when you enable stream proxy, APISIX will run another Lua VM for the stream subsystem. It won&#x27;t trigger a full GC in this Lua VM .</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="get-v1routes"></a>Get /v1/routes<a class="hash-link" href="#get-v1routes" title="Direct link to heading">#</a></h3><p>Introduced since <code>v3.0</code>.</p><p>Return all routes info in the format below:</p><div class="codeBlockContainer_K [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/customize-nginx-configuration/index.html b/docs/apisix/2.10/customize-nginx-configuration/index.html
index d87493f..5fe4e89 100644
--- a/docs/apisix/2.10/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.10/customize-nginx-configuration/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Customize Nginx configuration | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -23,7 +23,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">            location /ysec_status </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">                req_status_show;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">                allow 127.0.0.1;</span></span><span class="token-line" [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">        chunked_transfer_encoding on;</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">http_server_configuration_snippet</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">|</span><span class="token scalar string" style="color:#e3116c"></span></span><span class="token-line" style="color:#393A34"><span class="token scalar  [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/debug-function/index.html b/docs/apisix/2.10/debug-function/index.html
index 4b98915..2e5ca96 100644
--- a/docs/apisix/2.10/debug-function/index.html
+++ b/docs/apisix/2.10/debug-function/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>It has a response header of <code>X-APISIX-Upstream-Status: 502</code>.</p><blockquote><p>Example 2: <code>502</code> response status code comes from <code>APISIX</code></p></blockquote><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/discovery/consul_kv/index.html b/docs/apisix/2.10/discovery/consul_kv/index.html
index c462bc1..4e61fff 100644
--- a/docs/apisix/2.10/discovery/consul_kv/index.html
+++ b/docs/apisix/2.10/discovery/consul_kv/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consul_kv | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="ht [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -23,7 +23,7 @@
 <img src="https://user-images.githubusercontent.com/548385/107141841-6ced3e00-6966-11eb-8aa4-bc790a4ad113.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="configuration-for-discovery-client"></a>Configuration for discovery client<a class="hash-link" href="#configuration-for-discovery-client" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_ [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    -X PUT </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></span><span c [...]
 To avoid confusion, use the full consul key url path as service name in practice.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="upstream-setting"></a>Upstream setting<a class="hash-link" href="#upstream-setting" title="Direct link to heading">#</a></h3><p>Here is an example of routing a request with a URL of &quot;/*&quot; to a service which named &quot;<a href="http://127.0.0.1:8500/v1/kv/upstreams/webpages/%22" target="_blank [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/discovery/dns/index.html b/docs/apisix/2.10/discovery/dns/index.html
index 8afb365..82bdc85 100644
--- a/docs/apisix/2.10/discovery/dns/index.html
+++ b/docs/apisix/2.10/discovery/dns/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https:// [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -31,7 +31,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/discovery/dns.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m3 [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/discovery/eureka/index.html b/docs/apisix/2.10/discovery/eureka/index.html
index b2fbc52..8748621 100644
--- a/docs/apisix/2.10/discovery/eureka/index.html
+++ b/docs/apisix/2.10/discovery/eureka/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">eureka | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 reading from <a href="/docs/apisix/2.10/discovery#supported-discovery-registries">Supported discovery registries</a>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/discovery/eureka.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/discovery/index.html b/docs/apisix/2.10/discovery/index.html
index cca8a86..1097a03 100644
--- a/docs/apisix/2.10/discovery/index.html
+++ b/docs/apisix/2.10/discovery/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Integration service discovery registry | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true"  [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -31,7 +31,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;value&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -i -d </span><span class="token string" style="color:#e3116c">&#x27;</span></span><span class="token-line" s [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/discovery/nacos/index.html b/docs/apisix/2.10/discovery/nacos/index.html
index 00507eb..514460f 100644
--- a/docs/apisix/2.10/discovery/nacos/index.html
+++ b/docs/apisix/2.10/discovery/nacos/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">nacos | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https: [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/dns/index.html b/docs/apisix/2.10/dns/index.html
index c574118..0649626 100644
--- a/docs/apisix/2.10/dns/index.html
+++ b/docs/apisix/2.10/dns/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https:// [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p><p>TODO: support priority.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/dns.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden=" [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/examples/plugins-hmac-auth-generate-signature/index.html b/docs/apisix/2.10/examples/plugins-hmac-auth-generate-signature/index.html
index 4e004ee..ce5804f 100644
--- a/docs/apisix/2.10/examples/plugins-hmac-auth-generate-signature/index.html
+++ b/docs/apisix/2.10/examples/plugins-hmac-auth-generate-signature/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HMAC Generate Signature Examples | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" proper [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -54,7 +54,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">--to base64</span></span><span class="token-line" style="color:#393A34"><span class="token plain">ngx.say(ngx.encode_base64(digest))</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="shell"></a>Shell<a class= [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to lowercase hexits</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </ [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to base64</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </span><span [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/external-plugin/index.html b/docs/apisix/2.10/external-plugin/index.html
index 2089e9f..9e8b60e 100644
--- a/docs/apisix/2.10/external-plugin/index.html
+++ b/docs/apisix/2.10/external-plugin/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">External Plugin | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conte [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -38,7 +38,7 @@ declare your variable first in the <code>conf/config.yaml</code>:</p><div class=
 OpenResty 1.19+.</p><p>However, APISIX needs to wait the runner to quit so that we can ensure the resource
 for the process group is freed.</p><p>Therefore, we send SIGTERM first. And then after 1 second, if the runner is still
 running, we will send SIGKILL.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/external-plugin.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1. [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/getting-started/index.html b/docs/apisix/2.10/getting-started/index.html
index 59a3c19..f78f583 100644
--- a/docs/apisix/2.10/getting-started/index.html
+++ b/docs/apisix/2.10/getting-started/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Getting Started | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conte [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/grpc-proxy/index.html b/docs/apisix/2.10/grpc-proxy/index.html
index 74bf6ac..51406d9 100644
--- a/docs/apisix/2.10/grpc-proxy/index.html
+++ b/docs/apisix/2.10/grpc-proxy/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gRPC Proxy | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 gRPC client -&gt; APISIX -&gt; gRPC/gRPCS server</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="parameters"></a>Parameters<a class="hash-link" href="#parameters" title="Direct link to heading">#</a></h2><ul><li><code>scheme</code>: the <code>scheme</code> of the route&#x27;s upstream must be <code>grpc</code> or <code>grpcs</code>.</li><li><code>uri</code>: format likes /service/method, Example:/helloworld.Greeter/SayHello</li>< [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/health-check/index.html b/docs/apisix/2.10/health-check/index.html
index 4a1e245..f268f1c 100644
--- a/docs/apisix/2.10/health-check/index.html
+++ b/docs/apisix/2.10/health-check/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Health Check | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 There won&#x27;t be any health check if an upstream is configured but isn&#x27;t in used.</li><li>If there is no healthy node can be chosen, we will continue to access the upstream.</li><li>We won&#x27;t start the health check when the upstream only has one node, as we will access
 it whether this unique node is healthy or not.</li><li>Active health check is required so that the unhealthy node can recover.</li></ul><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="configuration-instructions"></a>Configuration instructions<a class="hash-link" href="#configuration-instructions" title="Direct link to heading">#</a></h3><table><thead><tr><th>Configuration item</th><th>Configuration type</th><th>Value type</th><th>Va [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/how-to-build/index.html b/docs/apisix/2.10/how-to-build/index.html
index 1078985..897e57a 100644
--- a/docs/apisix/2.10/how-to-build/index.html
+++ b/docs/apisix/2.10/how-to-build/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How to build Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Will install the latest apisix package</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">sudo</span><span class="token plain"> yum </span><span class="token function" style="color:#d73a49">install</spa [...]
 If you need these features, you can build the APISIX OpenResty.
 You can refer to the source of <a href="https://github.com/api7/apisix-build-tools" target="_blank" rel="noopener noreferrer">api7/apisix-build-tools</a> for how to set up the build environment and build the APISIX OpenResty.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="step-7-add-systemd-unit-file-for-apache-apisix"></a>Step 7: Add Systemd Unit File for Apache APISIX<a class="hash-link" href="#step-7-add-systemd-unit-file-for [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/https/index.html b/docs/apisix/2.10/https/index.html
index 059a1af..f51b081 100644
--- a/docs/apisix/2.10/https/index.html
+++ b/docs/apisix/2.10/https/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HTTPS | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https: [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -35,7 +35,7 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
 first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
 private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
 pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/https.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11.7l-3 [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/install-dependencies/index.html b/docs/apisix/2.10/install-dependencies/index.html
index 1b15103..5b53bdf 100644
--- a/docs/apisix/2.10/install-dependencies/index.html
+++ b/docs/apisix/2.10/install-dependencies/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Dependencies | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url"  [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -38,7 +38,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># install LuaRocks</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> https://raw.githubusercontent.com/apache/apisix/master/utils/linux-install-luarocks.sh -sL </spa [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:#393A34">&amp;</span></span></code></pre [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">brew services start etcd</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div></div><footer class="th [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/internal/testing-framework/index.html b/docs/apisix/2.10/internal/testing-framework/index.html
index 0e59dee..59d0a36 100644
--- a/docs/apisix/2.10/internal/testing-framework/index.html
+++ b/docs/apisix/2.10/internal/testing-framework/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Introducing APISIX&#x27;s testing framework | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="t [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -36,7 +36,7 @@ This allows us to write methods inside <code>t/lib/server.lua</code> to emulate
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">==</span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> TEST </span><span class="token number" style="color:#36acaa">2</span><span class="token plain">: vars rule with </span><span class="token operator" style="color:#393A34">!</span><span class="token plain"> </span><span class="token punctuation" style="c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/mtls/index.html b/docs/apisix/2.10/mtls/index.html
index 412e821..ae4785a 100644
--- a/docs/apisix/2.10/mtls/index.html
+++ b/docs/apisix/2.10/mtls/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS Authentication | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og: [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">if</span><span class="token plain"> </span><span class="token builtin">len</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">sys</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">argv</span><span class="token punctuation" style="color:#393A34">)</span><span cl [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">reqParam </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token string" style="color:#e3116c">&quot;tls&quot;</span><span class="token punctuation" style=" [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">resp </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> requests</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">patch</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;http://127.0.0.1:9080/apisix/admin/upstreams/&quot;</span><span class="toke [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugin-develop/index.html b/docs/apisix/2.10/plugin-develop/index.html
index ecdc8fb..bf6c8d8 100644
--- a/docs/apisix/2.10/plugin-develop/index.html
+++ b/docs/apisix/2.10/plugin-develop/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Develop | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -57,7 +57,7 @@ return items of HTTP include HTTP status, HTTP response header, HTTP response bo
 You may need to use <a href="/docs/apisix/2.10/plugin-interceptors">interceptors</a> to protect it.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="register-control-api"></a>Register control API<a class="hash-link" href="#register-control-api" title="Direct link to heading">#</a></h3><p>If you only want to expose the API to the localhost or intranet, you can expose it via <a href="/docs/apisix/2.10/control-api">Control API</a>.</ [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">function _M.control_api()</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    return {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">            methods = {&quot;GET&quot;},</span></span><span class="token-line" style="color:#393A3 [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugin-interceptors/index.html b/docs/apisix/2.10/plugin-interceptors/index.html
index 406ad60..19e8c95 100644
--- a/docs/apisix/2.10/plugin-interceptors/index.html
+++ b/docs/apisix/2.10/plugin-interceptors/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin interceptors | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" c [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@ to run rules to protect them.</p><p>Here is an example to limit the access of <c
 to clients in <code>10.0.0.0/24</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/pl [...]
 the name of plugin which you want to run and the <code>conf</code> is the configuration of the
 plugin.</p><p>Currently we only support a subset of plugins which can be run as interceptors.</p><p>Supported interceptors:</p><ul><li><a href="/docs/apisix/2.10/plugins/ip-restriction">ip-restriction</a></li></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/plugin-interceptors.md" target="_blank" rel="noreferrer noopener" class="theme-edi [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/api-breaker/index.html b/docs/apisix/2.10/plugins/api-breaker/index.html
index 47658ca..f3e019f 100644
--- a/docs/apisix/2.10/plugins/api-breaker/index.html
+++ b/docs/apisix/2.10/plugins/api-breaker/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">api-breaker | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">. </span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 a [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/authz-casbin/index.html b/docs/apisix/2.10/plugins/authz-casbin/index.html
index 0f8ed22..947e084 100644
--- a/docs/apisix/2.10/plugins/authz-casbin/index.html
+++ b/docs/apisix/2.10/plugins/authz-casbin/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">authz-casbin | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -36,7 +36,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">[policy_effect]</span></span><span class="token-line" style="color:#393A34"><span class="token plain">e = some(where (p.eft == allow))</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">[matchers]</span></span><span class="token-line" style="color:#393A34"><span class="token plain">m = (g(r.sub, p.sub) || keyMatch(r.sub, p.sub)) &amp;&amp; keyMatch(r.obj, p.obj) &amp;&amp; keyMatch(r.act, p.act)</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>And the example policy as:</p><div class="code [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/authz-keycloak/index.html b/docs/apisix/2.10/plugins/authz-keycloak/index.html
index 26e64ff..ed4208a 100644
--- a/docs/apisix/2.10/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.10/plugins/authz-keycloak/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">authz-keycloak | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -46,7 +46,7 @@ APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div cl
 API workflows. Run the following docker image and visit <code>http://localhost:8090</code> to view the associated policies for the unit tests.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">docker run -e </span><span class=" [...]
 However, Keycloak&#x27;s official adapters (Java, JS) also provides path matching by querying Keycloak paths dynamically, and
 lazy loading the paths to identity resources. Future version on authz-plugin will support this functionality.</p></li><li><p>Support to read scope and configurations from the Keycloak JSON File</p></li></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/plugins/authz-keycloak.md" target="_blank" rel="noreferrer noopener" class="theme-edit-th [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/basic-auth/index.html b/docs/apisix/2.10/plugins/basic-auth/index.html
index b4bdcf8..7b1194d 100644
--- a/docs/apisix/2.10/plugins/basic-auth/index.html
+++ b/docs/apisix/2.10/plugins/basic-auth/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">basic-auth | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" 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"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/batch-requests/index.html b/docs/apisix/2.10/plugins/batch-requests/index.html
index ef4cdf9..fe68bbe 100644
--- a/docs/apisix/2.10/plugins/batch-requests/index.html
+++ b/docs/apisix/2.10/plugins/batch-requests/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">batch-requests | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 You may need to use <a href="/docs/apisix/2.10/plugin-interceptors">interceptors</a> to protect it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Enable the batch-requests plugin in the <code>config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" cl [...]
 You can configure it via <code>apisix/admin/plugin_metadata/batch-requests</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/ [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/client-control/index.html b/docs/apisix/2.10/plugins/client-control/index.html
index 30ae445..08dcb76 100644
--- a/docs/apisix/2.10/plugins/client-control/index.html
+++ b/docs/apisix/2.10/plugins/client-control/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">client-control | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -24,7 +24,7 @@ handle the client request.</p><p><strong>This plugin requires APISIX to run on <
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">413</span><span class="token plain"> Request Entity Too Large</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span>< [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/consumer-restriction/index.html b/docs/apisix/2.10/plugins/consumer-restriction/index.html
index 5cb0b11..2b770bf 100644
--- a/docs/apisix/2.10/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.10/plugins/consumer-restriction/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consumer-restriction | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url"  [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/services/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">&#x27;</span></span><span class="token-line" styl [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/cors/index.html b/docs/apisix/2.10/plugins/cors/index.html
index 659b794..0d45c67 100644
--- a/docs/apisix/2.10/plugins/cors/index.html
+++ b/docs/apisix/2.10/plugins/cors/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">cors | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https:/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 When using <code>**</code>, you must fully understand that it introduces some security risks, such as CSRF, so make sure that this security level meets your expectations before using it。</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Create a <code>Route</code> or <code>Service</code> object and con [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/dubbo-proxy/index.html b/docs/apisix/2.10/plugins/dubbo-proxy/index.html
index 7db6fb9..bfd3fed 100644
--- a/docs/apisix/2.10/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/2.10/plugins/dubbo-proxy/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">dubbo-proxy | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ They should provide the same result.</p><p>The returned data from upstream dubbo
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
 you need to comment out in the <code>config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctuation" style="color:#393A34">:</span><span class="toke [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/echo/index.html b/docs/apisix/2.10/plugins/echo/index.html
index 24fbcf3..e4d4399 100644
--- a/docs/apisix/2.10/plugins/echo/index.html
+++ b/docs/apisix/2.10/plugins/echo/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">echo | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https:/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/error-log-logger/index.html b/docs/apisix/2.10/plugins/error-log-logger/index.html
index 56f32d7..a81950b 100644
--- a/docs/apisix/2.10/plugins/error-log-logger/index.html
+++ b/docs/apisix/2.10/plugins/error-log-logger/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">error-log-logger | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" cont [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 <a href="/docs/apisix/2.10/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>tcp.host</td><td>string</td><td>required</td><td></td><td></td><td>IP ad [...]
 It does not need to be bound in any route or service.</p><p>Here is an example of <code>conf/config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punc [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/ext-plugin-post-req/index.html b/docs/apisix/2.10/plugins/ext-plugin-post-req/index.html
index ca3477fb..f2a4a4d 100644
--- a/docs/apisix/2.10/plugins/ext-plugin-post-req/index.html
+++ b/docs/apisix/2.10/plugins/ext-plugin-post-req/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ext-plugin-post-req | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" c [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 before proxying to the upstream.</p><p>See the documentation of <a href="/docs/apisix/2.10/plugins/ext-plugin-pre-req">ext-plugin-pre-req</a> for how to configure it.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/plugins/ext-plugin-post-req.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/ext-plugin-pre-req/index.html b/docs/apisix/2.10/plugins/ext-plugin-pre-req/index.html
index bcb34b8..e6c175c 100644
--- a/docs/apisix/2.10/plugins/ext-plugin-pre-req/index.html
+++ b/docs/apisix/2.10/plugins/ext-plugin-pre-req/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ext-plugin-pre-req | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" co [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -24,7 +24,7 @@ executing most of the builtin Lua plugins.</p><p>To know what is the plugin runn
 is executed at that side.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to disable this plugin, it is very simple,
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/fault-injection/index.html b/docs/apisix/2.10/plugins/fault-injection/index.html
index 1cac55a..9a68076 100644
--- a/docs/apisix/2.10/plugins/fault-injection/index.html
+++ b/docs/apisix/2.10/plugins/fault-injection/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">fault-injection | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conte [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -40,7 +40,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><ol start="2"><li>The request header <code>apikey</code> is successfully matched, and the request parameters are missing, and fault injection is performed:</li></ol><div class="codeBlockC [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><ol start="3"><li>Both request parameters and request headers fail to match, and fault injection is not performed:</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockConte [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON  [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/grpc-transcode/index.html b/docs/apisix/2.10/plugins/grpc-transcode/index.html
index 51cec33..c7ace72 100644
--- a/docs/apisix/2.10/plugins/grpc-transcode/index.html
+++ b/docs/apisix/2.10/plugins/grpc-transcode/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">grpc-transcode | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -23,7 +23,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;Hello world&quot;</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type="button" aria-label="Copy code to clipbo [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;workflowKey&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;#2251799813685260&quot;</span><span class="token plain">,</span><span class="token string" style="color:#e3116c">&quot;workflowInstanceKey&quot;</span><spa [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/gzip/index.html b/docs/apisix/2.10/plugins/gzip/index.html
index 3eddcfe..588a68a 100644
--- a/docs/apisix/2.10/plugins/gzip/index.html
+++ b/docs/apisix/2.10/plugins/gzip/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gzip | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https:/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -23,7 +23,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Warning: Binary output can mess up your terminal. Use </span><span class="token string" style="color:#e3116c">&quot;--output -&quot;</span><span class="token plain"> to tell</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Warning: </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> to output it to your terminal anyway, or [...]
 you can delete the corresponding JSON configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/hmac-auth/index.html b/docs/apisix/2.10/plugins/hmac-auth/index.html
index 781b6cc..4497002 100644
--- a/docs/apisix/2.10/plugins/hmac-auth/index.html
+++ b/docs/apisix/2.10/plugins/hmac-auth/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">hmac-auth | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="ht [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -33,7 +33,7 @@
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
 Need to pay attention to the handling of newline characters in signature strings in various languages, which can easily lead to the problem of <code>{&quot;message&quot;:&quot;Invalid signature&quot;}</code>.</p><p>Example inputs:</p><table><thead><tr><th>Variable</th><th>Value</th></tr></thead><tbody><tr><td>secret</td><td>this is secret key</td></tr><tr><td>message</td><td>this is signature string</td></tr></tbody></table><p>Example outputs:</p><table><thead><tr><th>Type</th><th>Hash</ [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/http-logger/index.html b/docs/apisix/2.10/plugins/http-logger/index.html
index a67160a..7324b66f 100644
--- a/docs/apisix/2.10/plugins/http-logger/index.html
+++ b/docs/apisix/2.10/plugins/http-logger/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">http-logger | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/index.html b/docs/apisix/2.10/plugins/index.html
index 5d68bad..e5f4150 100644
--- a/docs/apisix/2.10/plugins/index.html
+++ b/docs/apisix/2.10/plugins/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugins | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="http [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 the its execution will be skipped.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="hot-reload-in-stand-alone-mode"></a>Hot reload in stand-alone mode<a class="hash-link" href="#hot-reload-in-stand-alone-mode" title="Direct link to heading">#</a></h3><p>For stand-alone mode, see plugin related section in <a href="/docs/apisix/2.10/stand-alone">stand alone mode</a>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div cl [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/ip-restriction/index.html b/docs/apisix/2.10/plugins/ip-restriction/index.html
index 0e6ff61..3464510 100644
--- a/docs/apisix/2.10/plugins/ip-restriction/index.html
+++ b/docs/apisix/2.10/plugins/ip-restriction/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ip-restriction | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ you can send the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/jwt-auth/index.html b/docs/apisix/2.10/plugins/jwt-auth/index.html
index 6591771..d0139fd 100644
--- a/docs/apisix/2.10/plugins/jwt-auth/index.html
+++ b/docs/apisix/2.10/plugins/jwt-auth/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">jwt-auth | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ You may need to use <a href="/docs/apisix/2.10/plugin-interceptors">interceptors
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token operator" style="color:#393A34">!</span><span class="token plain">DOCTYPE html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34" [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/kafka-logger/index.html b/docs/apisix/2.10/plugins/kafka-logger/index.html
index 5948013..8342c8b 100644
--- a/docs/apisix/2.10/plugins/kafka-logger/index.html
+++ b/docs/apisix/2.10/plugins/kafka-logger/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">kafka-logger | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ or every <code>buffer_duration</code> flush the buffer.</p><p>In case of success
 In case of errors, returns <code>nil</code> with a string describing the error (<code>buffer overflow</code>).</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="sample-broker-list"></a>Sample broker list<a class="hash-link" href="#sample-broker-list" title="Direct link to heading">#</a></h3><p>This plugin supports to push in to more than one broker at a time. Specify the brokers of the external kafka servers as below
 sample to take effect of this functionality.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span cla [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/key-auth/index.html b/docs/apisix/2.10/plugins/key-auth/index.html
index ed16775..79d86a9 100644
--- a/docs/apisix/2.10/plugins/key-auth/index.html
+++ b/docs/apisix/2.10/plugins/key-auth/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">key-auth | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.2:9080/index.html -H </span><span class="token string" style="color:#e3116c">&#x27;apikey: abcabcabc&#x27;</span><span class="token plain"> -i</span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/limit-conn/index.html b/docs/apisix/2.10/plugins/limit-conn/index.html
index ee26a1b..6bc66a8 100644
--- a/docs/apisix/2.10/plugins/limit-conn/index.html
+++ b/docs/apisix/2.10/plugins/limit-conn/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-conn | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> -i http://127.0.0.1:9080/index.html?sleep</span><span class="token operator" style="color:#393A34">=</span><span class="token number" style="color:#36acaa">20</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token opera [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/limit-count/index.html b/docs/apisix/2.10/plugins/limit-count/index.html
index 40f14b5..ece5626 100644
--- a/docs/apisix/2.10/plugins/limit-count/index.html
+++ b/docs/apisix/2.10/plugins/limit-count/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-count | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ which mean the total number of requests and the remaining number of requests tha
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;error_msg&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;Requests are too frequent, please try again later.&quot;</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/limit-req/index.html b/docs/apisix/2.10/plugins/limit-req/index.html
index 4eb649b..aa5c7fa 100644
--- a/docs/apisix/2.10/plugins/limit-req/index.html
+++ b/docs/apisix/2.10/plugins/limit-req/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-req | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="ht [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;error_msg&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;Requests are too frequent, please try again later.&quot;</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/log-rotate/index.html b/docs/apisix/2.10/plugins/log-rotate/index.html
index c289512..d142ec8 100644
--- a/docs/apisix/2.10/plugins/log-rotate/index.html
+++ b/docs/apisix/2.10/plugins/log-rotate/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">log-rotate | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -24,7 +24,7 @@ When the number of log files exceeds the remaining number, the old files are aut
 For example, the following example is a sample based on <code>interval: 10</code> and <code>max_kept: 10</code>.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ ll logs</span></span><span class="token-line" style="color:# [...]
 It does not need to be bound in any route or service.</p><p>Here is an example of <code>conf/config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punc [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">plugin_attr</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">log-rotate</span><span class="token punctuation" style="color:#393A34">:</span><span cla [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/mqtt-proxy/index.html b/docs/apisix/2.10/plugins/mqtt-proxy/index.html
index 2aaa309..9afbb1f 100644
--- a/docs/apisix/2.10/plugins/mqtt-proxy/index.html
+++ b/docs/apisix/2.10/plugins/mqtt-proxy/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">mqtt-proxy | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 balance by <code>client_id</code> of MQTT.</p><p>And this plugin both support MQTT protocol <a href="http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html" target="_blank" rel="noopener noreferrer">3.1.*</a> and <a href="https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html" target="_blank" rel="noopener noreferrer">5.0</a>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash- [...]
 For example, the following configuration represents listening on the 9100 TCP port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">...</span><span class="token [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/node-status/index.html b/docs/apisix/2.10/plugins/node-status/index.html
index 851d88f..31b9376 100644
--- a/docs/apisix/2.10/plugins/node-status/index.html
+++ b/docs/apisix/2.10/plugins/node-status/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">node-status | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ then you can add this plugin in any route.</li></ol><div class="codeBlockContain
 then you can not add this plugin in any route.</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">plugins:                          </span><span class="token comment" style="color:#999988;font-style:italic"># plugin list</ [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately.</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly sh"><pre tabindex="0" class="prism-code language-sh codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H &#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;  [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/openid-connect/index.html b/docs/apisix/2.10/plugins/openid-connect/index.html
index 43e1c99..d0a6658 100644
--- a/docs/apisix/2.10/plugins/openid-connect/index.html
+++ b/docs/apisix/2.10/plugins/openid-connect/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">openid-connect | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</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"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</ [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/prometheus/index.html b/docs/apisix/2.10/plugins/prometheus/index.html
index 7707d0f..626564f 100644
--- a/docs/apisix/2.10/plugins/prometheus/index.html
+++ b/docs/apisix/2.10/plugins/prometheus/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">prometheus | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@ you may need to use <a href="/docs/apisix/2.10/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"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#3 [...]
 these metric data.</p><p>For example like this:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">scrape_configs</span><span class="token punctuation" style="color:#393A34">:</span><span class="token  [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/proxy-cache/index.html b/docs/apisix/2.10/plugins/proxy-cache/index.html
index ee9af7e..4f203d7 100644
--- a/docs/apisix/2.10/plugins/proxy-cache/index.html
+++ b/docs/apisix/2.10/plugins/proxy-cache/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-cache | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><blockquote><p>http status is &#x27;200&#x27; and the response header contains &#x27;Apisix-Cache-Status&#x27; to indicate that the plug-in is enabled.</p></blockquote><ol start="3"><li>Verify that the data is cached and request the above address again:</l [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><blockquote><p>The response header <code>Apisix-Cache-Status</code> value has changed to HIT, indicating that the data has been cached</p></blockquote><p>Example 3: Specifying cache_zone as <code>invalid_disk_cache</code> is inconsistent with the cache are [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">head</span><span class="token [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/proxy-mirror/index.html b/docs/apisix/2.10/plugins/proxy-mirror/index.html
index 1a5bdbd..9d2deea 100644
--- a/docs/apisix/2.10/plugins/proxy-mirror/index.html
+++ b/docs/apisix/2.10/plugins/proxy-mirror/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-mirror | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><blockquote><p>Since the specified mirror address is 127.0.0.1:9797, so to verify whether this plugin is in effect, we need to confirm on the service with port 9797.
 For example, we can start a simple server:  python -m SimpleHTTPServer 9797</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON in the plugin configuration to disable the plugin immediately without restarting the service:</p><div class="codeBlockContainer_K1bP"><div class [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/proxy-rewrite/index.html b/docs/apisix/2.10/plugins/proxy-rewrite/index.html
index 8e69cd9..ec7b8adf 100644
--- a/docs/apisix/2.10/plugins/proxy-rewrite/index.html
+++ b/docs/apisix/2.10/plugins/proxy-rewrite/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-rewrite | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" 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"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  - [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/real-ip/index.html b/docs/apisix/2.10/plugins/real-ip/index.html
index 96f13c9..669fcb6 100644
--- a/docs/apisix/2.10/plugins/real-ip/index.html
+++ b/docs/apisix/2.10/plugins/real-ip/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">real-ip | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="http [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" 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"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/redirect/index.html b/docs/apisix/2.10/plugins/redirect/index.html
index bfdfc8e..0685f77 100644
--- a/docs/apisix/2.10/plugins/redirect/index.html
+++ b/docs/apisix/2.10/plugins/redirect/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">redirect | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -23,7 +23,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>We can check the response code and the response header <code>Location</code>.</p><p>It shows that the <code>redirect</code> plugin is in effect.</p><p> Here is a [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately :</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  - [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/referer-restriction/index.html b/docs/apisix/2.10/plugins/referer-restriction/index.html
index e3ff79b..caa0559 100644
--- a/docs/apisix/2.10/plugins/referer-restriction/index.html
+++ b/docs/apisix/2.10/plugins/referer-restriction/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">referer-restriction | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" c [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -24,7 +24,7 @@ whitelisting/blacklisting request header Referrers.</p><h2><a aria-hidden="true"
 The message can be user-defined.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Creates a route or service object, and enable plugin <code>referer-restriction</code>.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/request-id/index.html b/docs/apisix/2.10/plugins/request-id/index.html
index 86c50af..23289de 100644
--- a/docs/apisix/2.10/plugins/request-id/index.html
+++ b/docs/apisix/2.10/plugins/request-id/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-id | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -23,7 +23,7 @@
 API request. The plugin will not add a request id if the <code>header_name</code> is already present in the request.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>header_name</td><td [...]
 read the documentation first before deciding to use snowflake. Because once the configuration information is enabled, you can not arbitrarily adjust the configuration information. Failure to do so may result in duplicate ID being generated.</p></blockquote><p>The Snowflake algorithm is not enabled by default and needs to be configured in &#x27;conf/config.yaml&#x27;.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code langua [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/request-validation/index.html b/docs/apisix/2.10/plugins/request-validation/index.html
index 305c3e8..39857f7 100644
--- a/docs/apisix/2.10/plugins/request-validation/index.html
+++ b/docs/apisix/2.10/plugins/request-validation/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-validation | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" co [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 json-schema to validate the schema. The plugin can be used to validate the headers and body data.</p><p>For more information on schema, refer to <a href="https://github.com/api7/jsonschema" target="_blank" rel="noopener noreferrer">JSON schema</a> for more information.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table>< [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/response-rewrite/index.html b/docs/apisix/2.10/plugins/response-rewrite/index.html
index b61fa5e..b26a040 100644
--- a/docs/apisix/2.10/plugins/response-rewrite/index.html
+++ b/docs/apisix/2.10/plugins/response-rewrite/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">response-rewrite | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" cont [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;code&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;ok&quot;</span><span class="token plain">,</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name" [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/server-info/index.html b/docs/apisix/2.10/plugins/server-info/index.html
index 8bab2ef..271ebbd 100644
--- a/docs/apisix/2.10/plugins/server-info/index.html
+++ b/docs/apisix/2.10/plugins/server-info/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">server-info | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/serverless/index.html b/docs/apisix/2.10/plugins/serverless/index.html
index c7727f5..773bb97 100644
--- a/docs/apisix/2.10/plugins/serverless/index.html
+++ b/docs/apisix/2.10/plugins/serverless/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">serverless | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -23,7 +23,7 @@
 which indicates that the specified function is in effect.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to disable the serverless plugin, it is very simple,
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/skywalking/index.html b/docs/apisix/2.10/plugins/skywalking/index.html
index bc5d84c..edc241c 100644
--- a/docs/apisix/2.10/plugins/skywalking/index.html
+++ b/docs/apisix/2.10/plugins/skywalking/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">skywalking | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ you need to comment out in the <code>config.yaml</code>:</p><div class="codeBloc
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.web.bind.annotation.PathVariable;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.web.bind.annotation.RequestMapping;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.web.bind.annotation.RestController;</span></span><span class="token-line" style="c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">/**</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> * @author cyxinda</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> * @create 2020-05-29 14:02</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> * @desc skywalking test controller</span></span><span class="token-line" style="color:#393A34"> [...]
 update the file of agent/config/agent.config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">agent.service_name</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">yourservername</span [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/sls-logger/index.html b/docs/apisix/2.10/plugins/sls-logger/index.html
index f58d098..535af84 100644
--- a/docs/apisix/2.10/plugins/sls-logger/index.html
+++ b/docs/apisix/2.10/plugins/sls-logger/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">sls-logger | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -23,7 +23,7 @@
 <a href="/docs/apisix/2.10/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Requirement</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>required</td><td>IP address or the Hostname of the TCP server, please reference ali cloud log <a href= [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="test-plugin"></a>Test Plugin<a class="hash-link" href="#test-plugin" title="Direct link to heading">#</a></h2><ul><li>success:</li></ul><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/syslog/index.html b/docs/apisix/2.10/plugins/syslog/index.html
index 1c3454e..61ebbc3 100644
--- a/docs/apisix/2.10/plugins/syslog/index.html
+++ b/docs/apisix/2.10/plugins/syslog/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">syslog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/tcp-logger/index.html b/docs/apisix/2.10/plugins/tcp-logger/index.html
index b60a4d1..b05886a 100644
--- a/docs/apisix/2.10/plugins/tcp-logger/index.html
+++ b/docs/apisix/2.10/plugins/tcp-logger/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">tcp-logger | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 <a href="/docs/apisix/2.10/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP addres [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/traffic-split/index.html b/docs/apisix/2.10/plugins/traffic-split/index.html
index 5f5a2c3..b3c086b 100644
--- a/docs/apisix/2.10/plugins/traffic-split/index.html
+++ b/docs/apisix/2.10/plugins/traffic-split/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">traffic-split | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -34,7 +34,7 @@ service_name, discovery_type, checks, retries, retry_timeout, desc, scheme, labe
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">world </span><span class="token number" style="color:#36acaa">1981</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-col [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>After 5 requests, the service of port <code>1981</code> was hit 3 times, and the service of port <code>1980</code> was hit 2 times.</p><blockquote><ol start="3"><li>The expression verification [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="matching-rules-correspond-to-upstream"></a>Matching rules correspond to upstream<a class="h [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/ua-restriction/index.html b/docs/apisix/2.10/plugins/ua-restriction/index.html
index 4eda900..150624b 100644
--- a/docs/apisix/2.10/plugins/ua-restriction/index.html
+++ b/docs/apisix/2.10/plugins/ua-restriction/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ua-restriction | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" 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"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/udp-logger/index.html b/docs/apisix/2.10/plugins/udp-logger/index.html
index d2a67b9..ddc0918 100644
--- a/docs/apisix/2.10/plugins/udp-logger/index.html
+++ b/docs/apisix/2.10/plugins/udp-logger/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">udp-logger | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 <a href="/docs/apisix/2.10/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP addres [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/uri-blocker/index.html b/docs/apisix/2.10/plugins/uri-blocker/index.html
index 80c733c..25f7263 100644
--- a/docs/apisix/2.10/plugins/uri-blocker/index.html
+++ b/docs/apisix/2.10/plugins/uri-blocker/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">uri-blocker | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">. </span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If you set the property <code>rejected_msg</code> to <code>&quo [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;error_msg&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;access is not allowed&quot;</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type="button" aria-label="Copy co [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/wolf-rbac/index.html b/docs/apisix/2.10/plugins/wolf-rbac/index.html
index 43b813f..747c865 100644
--- a/docs/apisix/2.10/plugins/wolf-rbac/index.html
+++ b/docs/apisix/2.10/plugins/wolf-rbac/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">wolf-rbac | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="ht [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -42,7 +42,7 @@ The rbac feature is provided by <a href="https://github.com/iGeeky/wolf" target=
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">200</span><span class="token plain"> OK</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">:</span><span class="token stri [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/zipkin/index.html b/docs/apisix/2.10/plugins/zipkin/index.html
index 088dfc7..ebaae61 100644
--- a/docs/apisix/2.10/plugins/zipkin/index.html
+++ b/docs/apisix/2.10/plugins/zipkin/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Zipkin | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ no need to restart the service, it will take effect immediately:</p><div class="
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    tracer := GetTracer(...)</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    // use middleware to extract parentID from http header that injected by APISIX</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    r.Use(func(c *gin.Context) {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        span := this.Tracer.Extract(b3.ExtractHTTP(c.Request))</span></span><span class="token-line" style="color:#39 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">}</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/plugins/zipkin.md" target="_blank" rel="noreferrer noopener" cla [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/powered-by/index.html b/docs/apisix/2.10/powered-by/index.html
index 9d154ce..9e4fc39 100644
--- a/docs/apisix/2.10/powered-by/index.html
+++ b/docs/apisix/2.10/powered-by/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Powered by Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:u [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 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.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/profile/index.html b/docs/apisix/2.10/profile/index.html
index df5b6a2..f110781 100644
--- a/docs/apisix/2.10/profile/index.html
+++ b/docs/apisix/2.10/profile/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Configuration file switching based on environment variables | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ requirements, we need to change the parameters in the configuration file to the
 development environment. You have to change it back. It&#x27;s very easy to make mistakes.</p><p>The solution to the above problem is to distinguish the current running environment through environment variables, and switch
 between different configuration files through environment variables. The corresponding environment variable in APISIX is: <code>APISIX_PROFILE</code></p><p>When <code>APISIX_PROFILE</code> is not set, the following three configuration files are used by default:</p><ul><li>conf/config.yaml</li><li>conf/apisix.yaml</li><li>conf/debug.yaml</li></ul><p>If the value of <code>APISIX_PROFILE</code> is set to <code>prod</code>, the following three configuration files are used:</p><ul><li>conf/co [...]
 tools such as git can be configured, and version management can be better achieved.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/profile.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/router-radixtree/index.html b/docs/apisix/2.10/router-radixtree/index.html
index 0fc35ba..4e647af 100644
--- a/docs/apisix/2.10/router-radixtree/index.html
+++ b/docs/apisix/2.10/router-radixtree/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router radixtree | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" cont [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 here is an simple example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </s [...]
 data from the request body. This limitation is configured via:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">graphql</span><span class="token punctuation" style="color:#393A34">:</span><span class [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If you need to pass a GraphQL body which is larger than the limitation, you can increase the value in <code>conf/config.yaml</code>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/router-radixt [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/stand-alone/index.html b/docs/apisix/2.10/stand-alone/index.html
index 8215210..4f6b499 100644
--- a/docs/apisix/2.10/stand-alone/index.html
+++ b/docs/apisix/2.10/stand-alone/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stand-alone mode | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" cont [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -23,7 +23,7 @@
 the APISIX will check if this file has any changed every second.
 If the file changed and we found <code>#END</code> at the end of the file,
 APISIX will load the rules in this file and update to memory of APISIX.</p><p>Here is a mini example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">routes</span><span class="token punctuation" sty [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/stream-proxy/index.html b/docs/apisix/2.10/stream-proxy/index.html
index 95f9963..0f6131d 100644
--- a/docs/apisix/2.10/stream-proxy/index.html
+++ b/docs/apisix/2.10/stream-proxy/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stream Proxy | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -23,7 +23,7 @@
 By default, no stream proxy is enabled.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></ [...]
 See <a href="/docs/apisix/2.10/admin-api#ssl">Admin API&#x27;s SSL section</a> for how to do.
 mTLS is also supported, see <a href="/docs/apisix/2.10/mtls#protect-route">Protect Route</a> for how to do.</p><p>Third, we need to configure a stream route to match and proxy it to the upstream:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/tags/index.html b/docs/apisix/2.10/tags/index.html
index eb33102..06c33e7 100644
--- a/docs/apisix/2.10/tags/index.html
+++ b/docs/apisix/2.10/tags/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Tags | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Tags | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/FAQ/index.html b/docs/apisix/2.4/FAQ/index.html
index 00e59e1..1768a54 100644
--- a/docs/apisix/2.4/FAQ/index.html
+++ b/docs/apisix/2.4/FAQ/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https:// [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -30,7 +30,7 @@ Run the <code>luarocks config rocks_servers</code> command(this command is suppo
 </span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">These open issues may also help:</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">Can&#x27;</span><span class="token plain">t </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"> openresty on macOS </span><span class="token number" style="color:#36acaa">10.15</span><span clas [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Error: A newer Command Line Tools release is available.</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Update them from Software Update </span><span class="token keyword" style="color:#00009f">in</span><span class="token plain"> System Preferences or</span></span><span class="token-line" style="color:#393A34"><span class="token plain">https://developer.apple.com/d [...]
 See the <code>Hot reload</code> section in <a href="/docs/apisix/2.4/plugins">plugins</a> for how to do that.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests"></a>How to make APISIX listen on multiple ports when handling HTTP or HTTPS requests?<a class="hash-link" href="#how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 240e0b4..b701bb4 100644
--- a/docs/apisix/2.4/IGNORE_DOC/index.html
+++ b/docs/apisix/2.4/IGNORE_DOC/index.html
@@ -14,13 +14,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 095397c..938417c 100644
--- a/docs/apisix/2.4/admin-api/index.html
+++ b/docs/apisix/2.4/admin-api/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Admin API | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="ht [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -78,7 +78,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">After the execution is successful, nodes will not retain the original data, and the entire update is:</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token strin [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><blockquote><p>Response Parameters</p></blockquote><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="ssl"></a>SSL<a class="hash-link" href="#ssl" title="Direct link to heading">#</a></h2><p><em>API</e [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;http://127.0.0.1:9080/apisix/admin/plugins/key-auth&quot;</span><span class="token plain"> -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"></span> [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 5372f13..4d1392e 100644
--- a/docs/apisix/2.4/architecture-design/index.html
+++ b/docs/apisix/2.4/architecture-design/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Architecture Design | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" c [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -40,7 +40,7 @@ will be merged into it. The same plugin in the plugin config will override one i
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If the information can be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker re [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </ [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 ad97740..47c5774 100644
--- a/docs/apisix/2.4/aws/index.html
+++ b/docs/apisix/2.4/aws/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Running APISIX in AWS with AWS CDK | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" prop [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -42,7 +42,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Non-authoritative answer:</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Name:   apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Address: </span><span class="token number" style="color:#36acaa">44.224</span><span class="token plain">.124.213</span></span><sp [...]
 <img src="https://cdn.jsdelivr.net/gh/apache/apisix@release/2.4/docs/assets/images/aws-define-service.png">
 <img src="https://cdn.jsdelivr.net/gh/apache/apisix@release/2.4/docs/assets/images/aws-define-route.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="validation"></a>Validation<a class="hash-link" href="#validation" title="Direct link to heading">#</a></h2><p>OK. Let&#x27;s test the <code>/index.php</code> on <code>{apiSix.ApiSixServiceServiceURL}/index.php</code></p><p><img src="https://cdn.jsdelivr.net/gh/apache/apisix@rele [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 7aace96..af7a8aa 100644
--- a/docs/apisix/2.4/batch-processor/index.html
+++ b/docs/apisix/2.4/batch-processor/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Batch Processor | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conte [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -30,7 +30,7 @@ argument and the batch configuration as the second parameter.</p><div class="cod
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">if batch_processor then</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    batch_processor:push({hello=&#x27;world&#x27;})</span></span><span class="token-line" style="color:#393A34"><span class="token plain">end</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Note: P [...]
 The timer to flush the batch runs based on the <code>inactive_timeout</code> configuration. Thus, for optimal usage,
 keep the <code>inactive_timeout</code> smaller than the <code>buffer_duration</code>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.4/docs/en/latest/batch-processor.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 9ac7f8d..fb96e44 100644
--- a/docs/apisix/2.4/benchmark/index.html
+++ b/docs/apisix/2.4/benchmark/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Benchmark | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="ht [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@ and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class=
 <img src="https://cdn.jsdelivr.net/gh/apache/apisix@release/2.4/docs/assets/images/flamegraph-1.jpg" alt="flamegraph-1"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="t [...]
 and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor anchor__h4 anchorWithHideOnScrollNavbar_3R7-" id="qps-1"></a>QPS<a class="hash-link" href="#qps-1" title="Direct link to heading">#</a></h4><p>The x-axis means the size of CPU core, and the y-axis is QPS.</p><img src="https://cdn.jsdelivr.net/gh/apache/apisix@release/2.4/docs/assets/images/benchmark-2.jpg" width="70%" height="70%"><h4><a aria-hidden="true" tabindex="-1" class="anchor anchor__h4 anchor [...]
 <img src="https://cdn.jsdelivr.net/gh/apache/apisix@release/2.4/docs/assets/images/flamegraph-2.jpg" alt="flamegraph-2"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="t [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 1ef7c0c..315f24a 100644
--- a/docs/apisix/2.4/control-api/index.html
+++ b/docs/apisix/2.4/control-api/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Control API | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@ If a plugin adds such a control API, please refer to each plugin&#x27;s document
 of fields like <code>consumer_schema</code> or <code>type</code>, it is dependended by the plugin&#x27;s
 definition.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="get-v1healthcheck"></a>GET /v1/healthcheck<a class="hash-link" href="#get-v1healthcheck" title="Direct link to heading">#</a></h3><p>Introduced since <code>v2.3</code>.</p><p>Return current <a href="/docs/apisix/2.4/health-check">health check</a> status in the format below:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex="0"  [...]
 object with id 1 creates a health checker, the <code>src_type</code> is <code>upstreams</code> and the <code>src_id</code> is <code>1</code>.</li><li>name: the name of the health checker.</li><li>nodes: the target nodes of the health checker.</li><li>healthy_nodes: the healthy node known by the health checker.</li></ul><p>User can also use <code>/v1/healthcheck/$src_type/$src_id</code> can get the status of a health checker.</p><p>For example, <code>GET /v1/healthcheck/upstreams/1</code> [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 48de917..01c3d35 100644
--- a/docs/apisix/2.4/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.4/customize-nginx-configuration/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Customize Nginx configuration | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -23,7 +23,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">            location /ysec_status </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">                req_status_show;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">                allow 127.0.0.1;</span></span><span class="token-line" [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">        chunked_transfer_encoding on;</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">http_server_configuration_snippet</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">|</span><span class="token scalar string" style="color:#e3116c"></span></span><span class="token-line" style="color:#393A34"><span class="token scalar  [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 7f97130..92d3d3f 100644
--- a/docs/apisix/2.4/debug-function/index.html
+++ b/docs/apisix/2.4/debug-function/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>It has a response header of <code>X-APISIX-Upstream-Status: 502</code>.</p><blockquote><p>Example 2: <code>502</code> response status code comes from <code>APISIX</code></p></blockquote><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 7895000..b41d982 100644
--- a/docs/apisix/2.4/discovery/consul_kv/index.html
+++ b/docs/apisix/2.4/discovery/consul_kv/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consul_kv | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="ht [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -23,7 +23,7 @@
 <img src="https://user-images.githubusercontent.com/548385/107141841-6ced3e00-6966-11eb-8aa4-bc790a4ad113.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="configuration-for-discovery-client"></a>Configuration for discovery client<a class="hash-link" href="#configuration-for-discovery-client" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_ [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    -X PUT </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></span><span c [...]
 To avoid confusion, use the full consul key url path as service name in practice.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="upstream-setting"></a>Upstream setting<a class="hash-link" href="#upstream-setting" title="Direct link to heading">#</a></h3><p>Here is an example of routing a request with a URL of &quot;/*&quot; to a service which named &quot;<a href="http://127.0.0.1:8500/v1/kv/upstreams/webpages/%22" target="_blank [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 fd60c80..04744a5 100644
--- a/docs/apisix/2.4/discovery/index.html
+++ b/docs/apisix/2.4/discovery/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Integration service discovery registry | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true"  [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;value&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -i -d </span><span class="token string" style="color:#e3116c">&#x27;</span></span><span class="token-line" s [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 0e5035e..dd4d347 100644
--- a/docs/apisix/2.4/dns/index.html
+++ b/docs/apisix/2.4/dns/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https:// [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p><p>TODO: support priority.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.4/docs/en/latest/dns.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="t [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 ee6b125..8536484 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
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HMAC Generate Signature Examples | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" proper [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -54,7 +54,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">--to base64</span></span><span class="token-line" style="color:#393A34"><span class="token plain">ngx.say(ngx.encode_base64(digest))</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="shell"></a>Shell<a class= [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to lowercase hexits</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </ [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to base64</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </span><span [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 7e6db44..21500ec 100644
--- a/docs/apisix/2.4/getting-started/index.html
+++ b/docs/apisix/2.4/getting-started/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Getting Started | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conte [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -39,7 +39,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://cdn.jsdelivr.net/gh/apache/apisix@release/2.4/docs/assets/images/dashboard.png" alt="Dashboard"></p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="troubleshooting"></a>Troubleshooting<a class="hash-link" href="#troubleshooting" title="Direct link to heading">#</a></h3><ul><li><p>Make sure the required ports are not being used by other systems/processes (Th [...]
 The following is the command to kill a process which is listening to a specific port (in unix based systems).</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">``</span><span class="token variable" style="color:#36acaa">`</span [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 274227c..bd1f08b 100644
--- a/docs/apisix/2.4/grpc-proxy/index.html
+++ b/docs/apisix/2.4/grpc-proxy/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gRPC Proxy | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 gRPC client -&gt; APISIX -&gt; gRPC/gRPCS server</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="parameters"></a>Parameters<a class="hash-link" href="#parameters" title="Direct link to heading">#</a></h2><ul><li><code>scheme</code>: the <code>scheme</code> of the route&#x27;s upstream must be <code>grpc</code> or <code>grpcs</code>.</li><li><code>uri</code>: format likes /service/method, Example:/helloworld.Greeter/SayHello</li>< [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 9639ac4..27c5396 100644
--- a/docs/apisix/2.4/health-check/index.html
+++ b/docs/apisix/2.4/health-check/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Health Check | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -23,7 +23,7 @@
 you can use it for upstream.</p><p>Note that we only start the health check when the upstream is hit by a request.
 There won&#x27;t be any health check if an upstream is configured but isn&#x27;t in used.</p><p>The following is an example of health check:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</spa [...]
 contains: <code>active</code> or <code>passive</code>.</p><ul><li><p><code>active</code>: To enable active health checks, you need to specify the configuration items under <code>checks.active</code> in the Upstream object configuration.</p><ul><li><p><code>active.timeout</code>: Socket timeout for active checks (in seconds), support decimals. For example <code>1.01</code> means <code>1010</code> milliseconds, <code>2</code> means <code>2000</code> milliseconds.</p></li><li><p><code>activ [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 0130874..e99b3f0 100644
--- a/docs/apisix/2.4/how-to-build/index.html
+++ b/docs/apisix/2.4/how-to-build/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How to build Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -30,7 +30,7 @@ see how to do it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor ancho
 make sure to set openresty as default nginx. And export the path as below.</li></ul><ul><li>export PATH=/usr/local/openresty/nginx/sbin:$PATH<ul><li>Linux default installation path:<ul><li>export PATH=/usr/local/openresty/nginx/sbin:$PATH</li></ul></li><li>OSx default installation path via homebrew:<ul><li>export PATH=/usr/local/opt/openresty/nginx/sbin:$PATH</li></ul></li></ul></li></ul><p><strong>Run Individual Test Cases</strong></p><ul><li>Use the following command to run test cases  [...]
 Here is an example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="to [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes?api_key</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">abcdefghabcdefgh-invalid -i</span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="co [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 b10ca67..fef05c5 100644
--- a/docs/apisix/2.4/https/index.html
+++ b/docs/apisix/2.4/https/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HTTPS | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https: [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -35,7 +35,7 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
 first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
 private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
 pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.4/docs/en/latest/https.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11.7l-3  [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 06b4abe..b4b30fd 100644
--- a/docs/apisix/2.4/install-dependencies/index.html
+++ b/docs/apisix/2.4/install-dependencies/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Dependencies | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url"  [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -39,7 +39,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:#393A34">&amp;</span></span></code></pre [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">etcd </span><span class="token operator" style="color:#393A34">&amp;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain" sty [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># enable TLS for etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">etcd --cert-file</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">/path/to/cert --key-file</span><span class="token operator" style="color:# [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 200fd11..d6bf752 100644
--- a/docs/apisix/2.4/mtls/index.html
+++ b/docs/apisix/2.4/mtls/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS authentication | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og: [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">mtls</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">enable</span><span class="token punctuation" style="color:#393A34">:</span><span class="token [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 a2396ae..9640357 100644
--- a/docs/apisix/2.4/plugin-develop/index.html
+++ b/docs/apisix/2.4/plugin-develop/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Develop | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</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.4/plugin-interceptors">interceptors</a> to protect it.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="register-control-api"></a>Register control API<a class="hash-link" href="#register-control-api" title="Direct link to heading">#</a></h3><p>If you only want to expose the API to the localhost or intranet, you can expose it via <a href="/docs/apisix/2.4/control-api">Control API</a>.</p> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">function _M.control_api()</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    return {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">            methods = {&quot;GET&quot;},</span></span><span class="token-line" style="color:#393A3 [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 7159a21..f162e25 100644
--- a/docs/apisix/2.4/plugin-interceptors/index.html
+++ b/docs/apisix/2.4/plugin-interceptors/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin interceptors | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" c [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@ to run rules to protect them.</p><p>Here is an example to limit the access of <c
 to clients in <code>10.0.0.0/24</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/pl [...]
 the name of plugin which you want to run and the <code>conf</code> is the configuration of the
 plugin.</p><p>Currently we only support a subset of plugins which can be run as interceptors.</p><p>Supported interceptors:</p><ul><li><a href="/docs/apisix/2.4/plugins/ip-restriction">ip-restriction</a></li></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.4/docs/en/latest/plugin-interceptors.md" target="_blank" rel="noreferrer noopener" class="theme-edit- [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 38719ce..f5b5def 100644
--- a/docs/apisix/2.4/plugins/api-breaker/index.html
+++ b/docs/apisix/2.4/plugins/api-breaker/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">api-breaker | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">. </span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 a [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 3eaee36..17e21c8 100644
--- a/docs/apisix/2.4/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.4/plugins/authz-keycloak/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">authz-keycloak | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -46,7 +46,7 @@ APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div cl
 API workflows. Run the following docker image and visit <code>http://localhost:8090</code> to view the associated policies for the unit tests.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">docker run -e </span><span class=" [...]
 However, Keycloak&#x27;s official adapters (Java, JS) also provides path matching by querying Keycloak paths dynamically, and
 lazy loading the paths to identity resources. Future version on authz-plugin will support this functionality.</p></li><li><p>Support to read scope and configurations from the Keycloak JSON File</p></li></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.4/docs/en/latest/plugins/authz-keycloak.md" target="_blank" rel="noreferrer noopener" class="theme-edit-thi [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 f189166..fabbd16 100644
--- a/docs/apisix/2.4/plugins/basic-auth/index.html
+++ b/docs/apisix/2.4/plugins/basic-auth/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">basic-auth | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" 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"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 ee75973..8361b1d 100644
--- a/docs/apisix/2.4/plugins/batch-requests/index.html
+++ b/docs/apisix/2.4/plugins/batch-requests/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">batch-requests | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 You may need to use <a href="/docs/apisix/2.4/plugin-interceptors">interceptors</a> to protect it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Default enabled</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-configure"></a>How To Configure<a cla [...]
 You can configure it via <code>apisix/admin/plugin_metadata/batch-requests</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/ [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 bbbfd81..01858f7 100644
--- a/docs/apisix/2.4/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.4/plugins/consumer-restriction/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consumer-restriction | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url"  [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/services/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">&#x27;</span></span><span class="token-line" styl [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 e9c1cd6..89c7f2d 100644
--- a/docs/apisix/2.4/plugins/cors/index.html
+++ b/docs/apisix/2.4/plugins/cors/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">cors | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https:/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 When using <code>**</code>, you must fully understand that it introduces some security risks, such as CSRF, so make sure that this security level meets your expectations before using it。</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Create a <code>Route</code> or <code>Service</code> object and con [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 919c610..1e4e4f6 100644
--- a/docs/apisix/2.4/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/2.4/plugins/dubbo-proxy/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">dubbo-proxy | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@ They should provide the same result.</p><h2><a aria-hidden="true" tabindex="-1"
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
 you need to comment out in the <code>config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctuation" style="color:#393A34">:</span><span class="toke [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 eeeed0ba..d398212 100644
--- a/docs/apisix/2.4/plugins/echo/index.html
+++ b/docs/apisix/2.4/plugins/echo/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">echo | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https:/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 6b3526e..5d7697a 100644
--- a/docs/apisix/2.4/plugins/error-log-logger/index.html
+++ b/docs/apisix/2.4/plugins/error-log-logger/index.html
@@ -14,15 +14,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">error-log-logger | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" cont [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 <a href="/docs/apisix/2.4/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address [...]
 It does not need to be bound in any route or service.</p><p>Here is an example of <code>conf/config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punc [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 1a82614..7358d81 100644
--- a/docs/apisix/2.4/plugins/fault-injection/index.html
+++ b/docs/apisix/2.4/plugins/fault-injection/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">fault-injection | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conte [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -40,7 +40,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><ol start="2"><li>The request header <code>apikey</code> is successfully matched, and the request parameters are missing, and fault injection is performed:</li></ol><div class="codeBlockC [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><ol start="3"><li>Both request parameters and request headers fail to match, and fault injection is not performed:</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockConte [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON  [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 0439b3f..bc0a00d 100644
--- a/docs/apisix/2.4/plugins/grpc-transcode/index.html
+++ b/docs/apisix/2.4/plugins/grpc-transcode/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">grpc-transcode | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -23,7 +23,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;Hello world&quot;</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type="button" aria-label="Copy code to clipbo [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;workflowKey&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;#2251799813685260&quot;</span><span class="token plain">,</span><span class="token string" style="color:#e3116c">&quot;workflowInstanceKey&quot;</span><spa [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 b0d7d65..f8f5d2b 100644
--- a/docs/apisix/2.4/plugins/hmac-auth/index.html
+++ b/docs/apisix/2.4/plugins/hmac-auth/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">hmac-auth | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="ht [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -30,7 +30,7 @@
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
 Need to pay attention to the handling of newline characters in signature strings in various languages, which can easily lead to the problem of <code>{&quot;message&quot;:&quot;Invalid signature&quot;}</code>.</p><p>Example inputs:</p><table><thead><tr><th>Variable</th><th>Value</th></tr></thead><tbody><tr><td>secret</td><td>this is secret key</td></tr><tr><td>message</td><td>this is signature string</td></tr></tbody></table><p>Example outputs:</p><table><thead><tr><th>Type</th><th>Hash</ [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 7b492da..833a7bc 100644
--- a/docs/apisix/2.4/plugins/http-logger/index.html
+++ b/docs/apisix/2.4/plugins/http-logger/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">http-logger | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 97c7bb8..468cff4 100644
--- a/docs/apisix/2.4/plugins/index.html
+++ b/docs/apisix/2.4/plugins/index.html
@@ -14,14 +14,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugins | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="http [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://apisix.apache.org/docs/general/community">join #apisix channel</a>! ⭐️</div><button type="button" c [...]
 the its execution will be skipped.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="hot-reload-in-stand-alone-mode"></a>Hot reload in stand-alone mode<a class="hash-link" href="#hot-reload-in-stand-alone-mode" title="Direct link to heading">#</a></h3><p>For stand-alone mode, see plugin related section in <a href="/docs/apisix/2.4/stand-alone">stand alone mode</a>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div cla [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 d3fac65..ac8a9e4 100644
--- a/docs/apisix/2.4/plugins/ip-restriction/index.html
+++ b/docs/apisix/2.4/plugins/ip-restriction/index.html
@@ -14,8 +14,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ip-restriction | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.fc942a8c.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.b8faba07.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.3f484e6a.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.0075334b.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ you can send the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.fc942a8c.js"></script>
-<script src="/assets/js/main.b8faba07.js"></script>
+<script src="/assets/js/runtime~main.3f484e6a.js"></script>
+<script src="/assets/js/main.0075334b.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 6e6cf94..02696a4 100644
... 54387 lines suppressed ...