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/11/23 03:15:23 UTC

[apisix-website] branch asf-site updated: deploy: 573155590e5e70b64d6cbb8377980d1ef9c25ed7

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 df016d4  deploy: 573155590e5e70b64d6cbb8377980d1ef9c25ed7
df016d4 is described below

commit df016d468fff6baedc697e40c69580467ab3c4fa
Author: juzhiyuan <ju...@users.noreply.github.com>
AuthorDate: Tue Nov 23 03:14:53 2021 +0000

    deploy: 573155590e5e70b64d6cbb8377980d1ef9c25ed7
---
 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/07f6f17f.e0ef8231.js                     |  1 -
 assets/js/07f6f17f.ede854b6.js                     |  1 +
 assets/js/09b17eb5.012901cc.js                     |  1 +
 assets/js/09b17eb5.3ddf8083.js                     |  1 -
 assets/js/11ce4159.133baca8.js                     |  1 -
 assets/js/11ce4159.7bceca58.js                     |  1 +
 assets/js/19945770.0b004d36.js                     |  1 -
 assets/js/19945770.e9701dbe.js                     |  1 +
 assets/js/250898ea.370740e7.js                     |  1 +
 assets/js/250898ea.f44b00cd.js                     |  1 -
 assets/js/3393d167.3be3c889.js                     |  1 +
 assets/js/3393d167.c63a06f7.js                     |  1 -
 assets/js/358566b4.5a670ee2.js                     |  1 +
 assets/js/358566b4.77f1dd77.js                     |  1 -
 assets/js/3dc9f306.911acea7.js                     |  1 -
 assets/js/3dc9f306.9afc5597.js                     |  1 +
 assets/js/40fb2fae.0866e31b.js                     |  1 -
 assets/js/40fb2fae.de7907ba.js                     |  1 +
 assets/js/44ac4dbb.c557cc88.js                     |  1 +
 assets/js/44ac4dbb.d55e3480.js                     |  1 -
 assets/js/4c20006b.54661e55.js                     |  1 -
 assets/js/4c20006b.e33bda7e.js                     |  1 +
 assets/js/4f9f5708.312d3e0e.js                     |  1 -
 assets/js/4f9f5708.bcf24fc9.js                     |  1 +
 assets/js/507e1a4c.15443d4b.js                     |  1 -
 assets/js/507e1a4c.16ab96bb.js                     |  1 +
 assets/js/50facf8e.0693e9ff.js                     |  1 -
 assets/js/50facf8e.21df856d.js                     |  1 +
 assets/js/52099127.a54e14f8.js                     |  1 +
 assets/js/52099127.cc301d16.js                     |  1 -
 assets/js/542fd41f.1c948277.js                     |  1 -
 assets/js/542fd41f.98e1ead0.js                     |  1 +
 assets/js/55207995.43d4d097.js                     |  1 +
 assets/js/55207995.7ee2424c.js                     |  1 -
 assets/js/55d51671.c9a302eb.js                     |  1 +
 assets/js/601c6eaa.6489da94.js                     |  1 +
 assets/js/601c6eaa.b68128a2.js                     |  1 -
 assets/js/66fbb9c2.b27c7441.js                     |  1 +
 assets/js/66fbb9c2.be588dab.js                     |  1 -
 assets/js/7af3052c.2d03d20a.js                     |  1 +
 assets/js/7af3052c.991ba880.js                     |  1 -
 assets/js/7d9726a8.c1f39639.js                     |  1 +
 assets/js/7d9726a8.e4577d7b.js                     |  1 -
 assets/js/80791de8.1cbd6201.js                     |  1 -
 assets/js/80791de8.5799a43a.js                     |  1 +
 assets/js/814f3328.d5ee18bb.js                     |  1 -
 assets/js/814f3328.f89aac7b.js                     |  1 +
 assets/js/8e784bf3.0b2ba00a.js                     |  1 +
 assets/js/8e784bf3.7041ef69.js                     |  1 -
 assets/js/8eb4e46b.e3ca7da8.js                     |  1 -
 assets/js/8eb4e46b.f888aac4.js                     |  1 +
 assets/js/8f700fa6.176ab0d2.js                     |  1 -
 assets/js/8f700fa6.3de87fd5.js                     |  1 +
 assets/js/90fc8a94.3a16acc2.js                     |  1 -
 assets/js/90fc8a94.9a771292.js                     |  1 +
 assets/js/92999a1c.38d1629c.js                     |  1 +
 assets/js/92999a1c.81d22cf9.js                     |  1 -
 assets/js/941960b1.042d6685.js                     |  1 -
 assets/js/941960b1.65a20b89.js                     |  1 +
 assets/js/98b657d8.4856696e.js                     |  1 -
 assets/js/98b657d8.bef3dd0b.js                     |  1 +
 assets/js/a7023ddc.646a75d5.js                     |  1 -
 assets/js/a7023ddc.f1e11339.js                     |  1 +
 assets/js/adbb350b.2381b8f3.js                     |  1 +
 assets/js/adbb350b.fd85ed5a.js                     |  1 -
 assets/js/b2b675dd.00cb60cb.js                     |  1 +
 assets/js/b2b675dd.ccb86dda.js                     |  1 -
 assets/js/b2f554cd.540aafb2.js                     |  1 +
 assets/js/b2f554cd.e6160128.js                     |  1 -
 assets/js/d18db9b0.9251e584.js                     |  1 -
 assets/js/d18db9b0.e7da0636.js                     |  1 +
 assets/js/e9b22e98.4d9ceff4.js                     |  1 +
 assets/js/f091cc2c.a18ccefb.js                     |  1 -
 assets/js/f091cc2c.ad5d3859.js                     |  1 +
 assets/js/main.19b50889.js                         |  2 --
 assets/js/main.e9f04561.js                         |  2 ++
 .../js/main.e9f04561.js.LICENSE.txt                |  0
 assets/js/runtime~main.cce36a08.js                 |  1 +
 assets/js/runtime~main.de17f345.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   | 29 ++++++++++++++++++++++
 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 +++---
 .../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 +++---
 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/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 +++---
 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.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/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 +++---
 .../11/15/release-apache-apisix-0.9/index.html     |  8 +++---
 .../2019/9/29/release-apache-apisix-0.8/index.html |  8 +++---
 .../2019/9/6/release-apache-apisix-0.7/index.html  |  8 +++---
 .../2020/1/15/release-apache-apisix-1.0/index.html |  8 +++---
 .../10/28/release-apache-apisix-2.0/index.html     |  8 +++---
 .../2020/12/1/release-apache-apisix-2.1/index.html |  8 +++---
 .../release-apache-apisix-dashboard-2.2/index.html |  8 +++---
 .../index.html                                     |  8 +++---
 .../2020/2/24/release-apache-apisix-1.1/index.html |  8 +++---
 .../release-apache-apisix-dashboard-1.0/index.html |  8 +++---
 .../2020/4/20/release-apache-apisix-1.2/index.html |  8 +++---
 .../2020/5/26/release-apache-apisix-1.3/index.html |  8 +++---
 .../2020/6/30/release-apache-apisix-1.4/index.html |  8 +++---
 .../7/20/release-apache-apisix-1.4.1/index.html    |  8 +++---
 .../release-apache-apisix-dashboard-1.5/index.html |  8 +++---
 .../2020/8/6/release-apache-apisix-1.5/index.html  |  8 +++---
 .../release-apache-apisix-dashboard-2.3/index.html |  8 +++---
 .../index.html                                     |  8 +++---
 .../2021/1/8/release-apache-apisix-2.2/index.html  |  8 +++---
 .../index.html                                     |  8 +++---
 .../index.html                                     |  8 +++---
 .../release-apache-apisix-dashboard-2.4/index.html |  8 +++---
 .../2021/2/9/release-apache-apisix-2.3/index.html  |  8 +++---
 .../index.html                                     |  8 +++---
 .../release-apache-apisix-dashboard-2.5/index.html |  8 +++---
 .../2021/3/5/release-apache-apisix-2.4/index.html  |  8 +++---
 .../index.html                                     |  8 +++---
 .../release-apache-apisix-dashboard-2.6/index.html |  8 +++---
 .../2021/4/5/release-apache-apisix-2.5/index.html  |  8 +++---
 .../index.html                                     |  8 +++---
 .../2021/5/24/release-apache-apisix-2.6/index.html |  8 +++---
 .../index.html                                     |  8 +++---
 .../release-apache-apisix-dashboard-2.7/index.html |  8 +++---
 .../index.html                                     |  8 +++---
 .../2021/6/25/release-apache-apisix-2.7/index.html |  8 +++---
 .../index.html                                     |  8 +++---
 .../index.html                                     |  8 +++---
 .../2021/7/27/release-apache-apisix-2.8/index.html |  8 +++---
 .../index.html                                     |  8 +++---
 .../index.html                                     |  8 +++---
 .../index.html                                     |  8 +++---
 .../2021/8/27/release-apache-apisix-2.9/index.html |  8 +++---
 .../index.html                                     |  8 +++---
 .../index.html                                     |  8 +++---
 .../release-apache-apisix-dashboard-2.8/index.html |  8 +++---
 releases/archive/index.html                        |  8 +++---
 releases/index.html                                |  8 +++---
 releases/page/2/index.html                         |  8 +++---
 releases/page/3/index.html                         |  8 +++---
 releases/page/4/index.html                         |  8 +++---
 releases/page/5/index.html                         |  8 +++---
 releases/tags/apisix-dashboard/index.html          |  8 +++---
 releases/tags/apisix-go-plugin-runner/index.html   |  8 +++---
 releases/tags/apisix-ingress-controller/index.html |  8 +++---
 releases/tags/apisix-java-plugin-runner/index.html |  8 +++---
 .../tags/apisix-python-plugin-runner/index.html    |  8 +++---
 releases/tags/apisix/index.html                    |  8 +++---
 releases/tags/index.html                           |  8 +++---
 search/index.html                                  | 10 ++++----
 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.6de86632.js                  |  1 +
 zh/assets/js/01112930.9feebb70.js                  |  1 -
 zh/assets/js/01632500.255bbf3f.js                  |  1 +
 zh/assets/js/01632500.7e9e817e.js                  |  1 -
 zh/assets/js/01640327.8878111e.js                  |  1 -
 zh/assets/js/01640327.bb2c5488.js                  |  1 +
 zh/assets/js/05e06b95.5b284a7a.js                  |  1 -
 zh/assets/js/05e06b95.96703cbe.js                  |  1 +
 zh/assets/js/09b17eb5.44fe10e7.js                  |  1 +
 zh/assets/js/09b17eb5.d073be01.js                  |  1 -
 zh/assets/js/19945770.3fe017cd.js                  |  1 +
 zh/assets/js/19945770.c784de74.js                  |  1 -
 zh/assets/js/3393d167.67ae730a.js                  |  1 +
 zh/assets/js/3393d167.6b0e1036.js                  |  1 -
 zh/assets/js/358566b4.4493d0b4.js                  |  1 +
 zh/assets/js/358566b4.b5779470.js                  |  1 -
 zh/assets/js/3a332aed.cb33551a.js                  |  1 -
 zh/assets/js/3a332aed.ec4f8ac9.js                  |  1 +
 zh/assets/js/3dc9f306.676acc57.js                  |  1 -
 zh/assets/js/3dc9f306.6d9c7f3d.js                  |  1 +
 zh/assets/js/3ea15b7a.c559594a.js                  |  1 -
 zh/assets/js/3ea15b7a.f3a89181.js                  |  1 +
 zh/assets/js/40fb2fae.063a1906.js                  |  1 -
 zh/assets/js/40fb2fae.8a5659aa.js                  |  1 +
 zh/assets/js/411eb2f0.4e1a8beb.js                  |  1 +
 zh/assets/js/4c20006b.24dc4d4e.js                  |  1 -
 zh/assets/js/4c20006b.988177a6.js                  |  1 +
 zh/assets/js/4f9f5708.45548174.js                  |  1 -
 zh/assets/js/4f9f5708.49865b32.js                  |  1 +
 zh/assets/js/50facf8e.091ab4fd.js                  |  1 +
 zh/assets/js/50facf8e.a565162b.js                  |  1 -
 zh/assets/js/542fd41f.3a7ecc9f.js                  |  1 +
 zh/assets/js/542fd41f.3d5462e2.js                  |  1 -
 zh/assets/js/5b0fa993.16a923e1.js                  |  1 -
 zh/assets/js/5b0fa993.f2184d46.js                  |  1 +
 zh/assets/js/601c6eaa.477bb218.js                  |  1 +
 zh/assets/js/601c6eaa.a100626c.js                  |  1 -
 zh/assets/js/6192341a.12caf94e.js                  |  1 +
 zh/assets/js/6192341a.5612d655.js                  |  1 -
 zh/assets/js/66fbb9c2.5b636e8b.js                  |  1 -
 zh/assets/js/66fbb9c2.dcd40d9c.js                  |  1 +
 zh/assets/js/77b5e1de.a3b2c78b.js                  |  1 +
 zh/assets/js/77b5e1de.afbb8e0a.js                  |  1 -
 zh/assets/js/7af3052c.0d7028c7.js                  |  1 +
 zh/assets/js/7af3052c.9b50cd9a.js                  |  1 -
 zh/assets/js/80791de8.78324424.js                  |  1 +
 zh/assets/js/80791de8.bc97684c.js                  |  1 -
 zh/assets/js/814f3328.2eee06a6.js                  |  1 +
 zh/assets/js/814f3328.a23e74b5.js                  |  1 -
 zh/assets/js/839fcc24.08f9b84e.js                  |  1 +
 zh/assets/js/839fcc24.5f55abcb.js                  |  1 -
 zh/assets/js/8e784bf3.a1229591.js                  |  1 +
 zh/assets/js/8e784bf3.cd226f22.js                  |  1 -
 zh/assets/js/8f700fa6.0c17ffd3.js                  |  1 +
 zh/assets/js/8f700fa6.cffd085c.js                  |  1 -
 zh/assets/js/90fc8a94.5725f06c.js                  |  1 -
 zh/assets/js/90fc8a94.e6241d84.js                  |  1 +
 zh/assets/js/927d70e2.a7bcc676.js                  |  1 -
 zh/assets/js/927d70e2.ab5b2e79.js                  |  1 +
 zh/assets/js/941960b1.69d82115.js                  |  1 -
 zh/assets/js/941960b1.f5eaac14.js                  |  1 +
 zh/assets/js/95058e22.516209c5.js                  |  1 +
 zh/assets/js/95058e22.8747fd2e.js                  |  1 -
 zh/assets/js/adbb350b.7d577b44.js                  |  1 +
 zh/assets/js/adbb350b.869bb907.js                  |  1 -
 zh/assets/js/bfb16af5.2bc82ad2.js                  |  1 -
 zh/assets/js/bfb16af5.3484f985.js                  |  1 +
 zh/assets/js/d14629a4.5c204283.js                  |  1 -
 zh/assets/js/d14629a4.cba67212.js                  |  1 +
 zh/assets/js/d18db9b0.7734b177.js                  |  1 +
 zh/assets/js/d18db9b0.a2fea9b8.js                  |  1 -
 zh/assets/js/f07577bb.c33a315a.js                  |  1 +
 zh/assets/js/f8686e54.722a2d1b.js                  |  1 -
 zh/assets/js/f8686e54.eaf9dbe3.js                  |  1 +
 zh/assets/js/main.06fc6947.js                      |  2 --
 zh/assets/js/main.ef63f79f.js                      |  2 ++
 .../assets/js/main.ef63f79f.js.LICENSE.txt         |  0
 zh/assets/js/runtime~main.1824a0b3.js              |  1 +
 zh/assets/js/runtime~main.e09f91de.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   | 29 ++++++++++++++++++++++
 zh/blog/archive/index.html                         | 10 ++++----
 zh/blog/atom.xml                                   | 13 +++++++++-
 zh/blog/index.html                                 | 10 ++++----
 zh/blog/page/2/index.html                          | 11 ++++----
 zh/blog/page/3/index.html                          | 13 +++++-----
 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 +++---
 .../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 +++---
 .../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/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 +++---
 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.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/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 +++---
 .../11/15/release-apache-apisix-0.9/index.html     |  8 +++---
 .../2019/9/29/release-apache-apisix-0.8/index.html |  8 +++---
 .../2019/9/6/release-apache-apisix-0.7/index.html  |  8 +++---
 .../2020/1/15/release-apache-apisix-1.0/index.html |  8 +++---
 .../10/28/release-apache-apisix-2.0/index.html     |  8 +++---
 .../2020/12/1/release-apache-apisix-2.1/index.html |  8 +++---
 .../release-apache-apisix-dashboard-2.2/index.html |  8 +++---
 .../index.html                                     |  8 +++---
 .../2020/2/24/release-apache-apisix-1.1/index.html |  8 +++---
 .../release-apache-apisix-dashboard-1.0/index.html |  8 +++---
 .../2020/4/20/release-apache-apisix-1.2/index.html |  8 +++---
 .../2020/5/26/release-apache-apisix-1.3/index.html |  8 +++---
 .../2020/6/30/release-apache-apisix-1.4/index.html |  8 +++---
 .../7/20/release-apache-apisix-1.4.1/index.html    |  8 +++---
 .../release-apache-apisix-dashboard-1.5/index.html |  8 +++---
 .../2020/8/6/release-apache-apisix-1.5/index.html  |  8 +++---
 .../release-apache-apisix-dashboard-2.3/index.html |  8 +++---
 .../index.html                                     |  8 +++---
 .../2021/1/8/release-apache-apisix-2.2/index.html  |  8 +++---
 .../index.html                                     |  8 +++---
 .../index.html                                     |  8 +++---
 .../release-apache-apisix-dashboard-2.4/index.html |  8 +++---
 .../2021/2/9/release-apache-apisix-2.3/index.html  |  8 +++---
 .../index.html                                     |  8 +++---
 .../release-apache-apisix-dashboard-2.5/index.html |  8 +++---
 .../2021/3/5/release-apache-apisix-2.4/index.html  |  8 +++---
 .../index.html                                     |  8 +++---
 .../release-apache-apisix-dashboard-2.6/index.html |  8 +++---
 .../2021/4/5/release-apache-apisix-2.5/index.html  |  8 +++---
 .../index.html                                     |  8 +++---
 .../2021/5/24/release-apache-apisix-2.6/index.html |  8 +++---
 .../index.html                                     |  8 +++---
 .../release-apache-apisix-dashboard-2.7/index.html |  8 +++---
 .../index.html                                     |  8 +++---
 .../2021/6/25/release-apache-apisix-2.7/index.html |  8 +++---
 .../index.html                                     |  8 +++---
 .../index.html                                     |  8 +++---
 .../2021/7/27/release-apache-apisix-2.8/index.html |  8 +++---
 .../index.html                                     |  8 +++---
 .../index.html                                     |  8 +++---
 .../index.html                                     |  8 +++---
 .../2021/8/27/release-apache-apisix-2.9/index.html |  8 +++---
 .../index.html                                     |  8 +++---
 .../index.html                                     |  8 +++---
 .../release-apache-apisix-dashboard-2.8/index.html |  8 +++---
 zh/releases/archive/index.html                     |  8 +++---
 zh/releases/index.html                             |  8 +++---
 zh/releases/page/2/index.html                      |  8 +++---
 zh/releases/page/3/index.html                      |  8 +++---
 zh/releases/page/4/index.html                      |  8 +++---
 zh/releases/page/5/index.html                      |  8 +++---
 zh/releases/tags/apisix-dashboard/index.html       |  8 +++---
 .../tags/apisix-go-plugin-runner/index.html        |  8 +++---
 .../tags/apisix-ingress-controller/index.html      |  8 +++---
 .../tags/apisix-java-plugin-runner/index.html      |  8 +++---
 .../tags/apisix-python-plugin-runner/index.html    |  8 +++---
 zh/releases/tags/apisix/index.html                 |  8 +++---
 zh/releases/tags/index.html                        |  8 +++---
 zh/search/index.html                               | 10 ++++----
 zh/sections/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 +++---
 2664 files changed, 10421 insertions(+), 10318 deletions(-)

diff --git a/404.html b/404.html
index 886b21d..4631b4c 100644
--- a/404.html
+++ b/404.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Page Not Found | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Page Not Found | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apis [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 e8c9704..84107be 100644
--- a/articles/Apache-APISIX-From-OpenSource-Commercialization-by-Apache-Way/index.html
+++ b/articles/Apache-APISIX-From-OpenSource-Commercialization-by-Apache-Way/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">按照 Apache Way 运作开源商业化公司,这行得通吗? | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisi [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 2b35361..caa9431 100644
--- a/articles/Apache-APISIX-From-OpenSource-Commercialization/index.html
+++ b/articles/Apache-APISIX-From-OpenSource-Commercialization/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 从开源项目到商业化之路 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 从开源项目到商业化之路 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apa [...]
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 693662f..c25ee68 100644
--- a/articles/Apache-APISIX-Incubator-Journey/index.html
+++ b/articles/Apache-APISIX-Incubator-Journey/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 的孵化器之旅 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.o [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 804a838..32fd82d 100644
--- a/articles/Apache-APISIX-Kubernetes-Ingress/index.html
+++ b/articles/Apache-APISIX-Kubernetes-Ingress/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">基于 Apache APISIX 的 Kubernetes Ingress 的实现 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="ht [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 a2177f7..6be9034 100644
--- a/articles/Apache-APISIX-in-China-Mobile-Cloud/index.html
+++ b/articles/Apache-APISIX-in-China-Mobile-Cloud/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 在移动云对象存储 EOS 的应用与实践 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://ap [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 在移动云对象存储 EOS 的应用与实践 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://ap [...]
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 a1218ac..1fe9bc6 100644
--- a/articles/How-To-Extend-Apache-APISIX-into-a-Service-Mesh-Sidecar/index.html
+++ b/articles/How-To-Extend-Apache-APISIX-into-a-Service-Mesh-Sidecar/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">如何将 Apache APISIX 扩展为一个服务网格的边车 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisi [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 8e79ee5..f153093 100644
--- a/articles/Relying-On-The-Community-To-Get-Apache-APISIX-Up-Speed/index.html
+++ b/articles/Relying-On-The-Community-To-Get-Apache-APISIX-Up-Speed/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">依托社区让 Apache APISIX 高速发展 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apac [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 f3a5724..e813bcb 100644
--- a/articles/Rendering-Community-Events-Using-ECharts/index.html
+++ b/articles/Rendering-Community-Events-Using-ECharts/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">使用 ECharts 呈现社区活动的渲染图 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 7284f5b..db43ede 100644
--- a/articles/Speed-Limiting-With-Apache-APISIX/index.html
+++ b/articles/Speed-Limiting-With-Apache-APISIX/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">使用 Apache APISIX 实现限流限速 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apach [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 727c31e..2d45a8e 100644
--- a/articles/Test-Apache-APISIX-Resilience-With-Chaos-Mesh/index.html
+++ b/articles/Test-Apache-APISIX-Resilience-With-Chaos-Mesh/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">用 Chaos Mesh 测试 Apache APISIX 的恢复能力 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https:// [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 afe6c2b..781166e 100644
--- a/articles/The-Appeal-of-OpenSource/index.html
+++ b/articles/The-Appeal-of-OpenSource/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">开源的魅力 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favicon. [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 637ecbc..cd618c4 100644
--- a/articles/The-Evolution-of-Apache-APISIX/index.html
+++ b/articles/The-Evolution-of-Apache-APISIX/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 的演变 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 420a7dd..1dbca97 100644
--- a/articles/Using-Apache-APISIX-To-Do-Authentication-and-Authorization/index.html
+++ b/articles/Using-Apache-APISIX-To-Do-Authentication-and-Authorization/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">使用 Apache APISIX 进行认证和授权 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apac [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/archive/index.html b/articles/archive/index.html
index cbc0735..6bcff1d 100644
--- a/articles/archive/index.html
+++ b/articles/archive/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Archive | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Archive | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/atom.xml b/articles/atom.xml
index 59b8908..c7ec100 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-11-23T02:04:12.918Z</updated>
+    <updated>2021-11-23T02:59:06.722Z</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-11-23T02:04:12.918Z</updated>
+        <updated>2021-11-23T02:59:06.722Z</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-11-23T02:04:12.918Z</updated>
+        <updated>2021-11-23T02:59:06.722Z</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 bc528db..b47bc72 100644
--- a/articles/index.html
+++ b/articles/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Article | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Article | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 2184476..45dc84c 100644
--- a/articles/page/2/index.html
+++ b/articles/page/2/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Article | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Article | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/rss.xml b/articles/rss.xml
index 7a7bb31..4348163 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, 23 Nov 2021 02:04:12 GMT</lastBuildDate>
+        <lastBuildDate>Tue, 23 Nov 2021 02:59:06 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, 23 Nov 2021 02:04:12 GMT</pubDate>
+            <pubDate>Tue, 23 Nov 2021 02:59:06 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, 23 Nov 2021 02:04:12 GMT</pubDate>
+            <pubDate>Tue, 23 Nov 2021 02:59:06 GMT</pubDate>
             <description><![CDATA[该演讲主题主要是讲述 Apache APISIX 在中国移动公有云对象存储 EOS 中的应用与实践经验分享。首先介绍了中国移动公有云建设规划及对象存储产品发展演进历程,然后阐述了我们为什么选择 APISIX 作为负载均衡网关,并对 EOS 流量治理架构演进三个阶段进行进行了详细介绍。同时,我们还分享了基于 APISIX 我们解决了哪些实际生产问题,做了哪些方案及开发工作,最后对我们未来的演进做了一些规划说明。]]></description>
         </item>
         <item>
diff --git a/assets/js/07f6f17f.e0ef8231.js b/assets/js/07f6f17f.e0ef8231.js
deleted file mode 100644
index d2af345..0000000
--- a/assets/js/07f6f17f.e0ef8231.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[45597],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return h}});var o=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/07f6f17f.ede854b6.js b/assets/js/07f6f17f.ede854b6.js
new file mode 100644
index 0000000..9ced81b
--- /dev/null
+++ b/assets/js/07f6f17f.ede854b6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[45597],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return h}});var o=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/09b17eb5.012901cc.js b/assets/js/09b17eb5.012901cc.js
new file mode 100644
index 0000000..99a9f1e
--- /dev/null
+++ b/assets/js/09b17eb5.012901cc.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 o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/09b17eb5.3ddf8083.js b/assets/js/09b17eb5.3ddf8083.js
deleted file mode 100644
index 188fab4..0000000
--- a/assets/js/09b17eb5.3ddf8083.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 o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/11ce4159.133baca8.js b/assets/js/11ce4159.133baca8.js
deleted file mode 100644
index 90e6c90..0000000
--- a/assets/js/11ce4159.133baca8.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":81,"previousPage":"/blog/page/4","nextPage":"/blog/page/6","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/11ce4159.7bceca58.js b/assets/js/11ce4159.7bceca58.js
new file mode 100644
index 0000000..2b8b327
--- /dev/null
+++ b/assets/js/11ce4159.7bceca58.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":82,"previousPage":"/blog/page/4","nextPage":"/blog/page/6","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/19945770.0b004d36.js b/assets/js/19945770.0b004d36.js
deleted file mode 100644
index 3d47fa0..0000000
--- a/assets/js/19945770.0b004d36.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.e9701dbe.js b/assets/js/19945770.e9701dbe.js
new file mode 100644
index 0000000..db20509
--- /dev/null
+++ b/assets/js/19945770.e9701dbe.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 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/250898ea.370740e7.js b/assets/js/250898ea.370740e7.js
new file mode 100644
index 0000000..6b7ed87
--- /dev/null
+++ b/assets/js/250898ea.370740e7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[34490],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},kt:function(){return h}});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/250898ea.f44b00cd.js b/assets/js/250898ea.f44b00cd.js
deleted file mode 100644
index dec1ace..0000000
--- a/assets/js/250898ea.f44b00cd.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[34490],{3905:function(e,t,r){r.d(t,{Zo:function(){return c},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/3393d167.3be3c889.js b/assets/js/3393d167.3be3c889.js
new file mode 100644
index 0000000..c91baf6
--- /dev/null
+++ b/assets/js/3393d167.3be3c889.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.c63a06f7.js b/assets/js/3393d167.c63a06f7.js
deleted file mode 100644
index 57c87d4..0000000
--- a/assets/js/3393d167.c63a06f7.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.5a670ee2.js b/assets/js/358566b4.5a670ee2.js
new file mode 100644
index 0000000..b3b7d49
--- /dev/null
+++ b/assets/js/358566b4.5a670ee2.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/358566b4.77f1dd77.js b/assets/js/358566b4.77f1dd77.js
deleted file mode 100644
index 05a2dd0..0000000
--- a/assets/js/358566b4.77f1dd77.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/3dc9f306.911acea7.js b/assets/js/3dc9f306.911acea7.js
deleted file mode 100644
index d1214df..0000000
--- a/assets/js/3dc9f306.911acea7.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/3dc9f306.9afc5597.js b/assets/js/3dc9f306.9afc5597.js
new file mode 100644
index 0000000..b81c45c
--- /dev/null
+++ b/assets/js/3dc9f306.9afc5597.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/40fb2fae.0866e31b.js b/assets/js/40fb2fae.0866e31b.js
deleted file mode 100644
index e28d10d..0000000
--- a/assets/js/40fb2fae.0866e31b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[32547],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/40fb2fae.de7907ba.js b/assets/js/40fb2fae.de7907ba.js
new file mode 100644
index 0000000..a80e9d0
--- /dev/null
+++ b/assets/js/40fb2fae.de7907ba.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[32547],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/44ac4dbb.c557cc88.js b/assets/js/44ac4dbb.c557cc88.js
new file mode 100644
index 0000000..ab7cca8
--- /dev/null
+++ b/assets/js/44ac4dbb.c557cc88.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":82,"previousPage":"/blog/page/5","nextPage":"/blog/page/7","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/44ac4dbb.d55e3480.js b/assets/js/44ac4dbb.d55e3480.js
deleted file mode 100644
index 63b6ddb..0000000
--- a/assets/js/44ac4dbb.d55e3480.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":81,"previousPage":"/blog/page/5","nextPage":"/blog/page/7","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/4c20006b.54661e55.js b/assets/js/4c20006b.54661e55.js
deleted file mode 100644
index b1f2069..0000000
--- a/assets/js/4c20006b.54661e55.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/4c20006b.e33bda7e.js b/assets/js/4c20006b.e33bda7e.js
new file mode 100644
index 0000000..3bba68d
--- /dev/null
+++ b/assets/js/4c20006b.e33bda7e.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/4f9f5708.312d3e0e.js b/assets/js/4f9f5708.312d3e0e.js
deleted file mode 100644
index c033af9..0000000
--- a/assets/js/4f9f5708.312d3e0e.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/4f9f5708.bcf24fc9.js b/assets/js/4f9f5708.bcf24fc9.js
new file mode 100644
index 0000000..ca6f72e
--- /dev/null
+++ b/assets/js/4f9f5708.bcf24fc9.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/507e1a4c.15443d4b.js b/assets/js/507e1a4c.15443d4b.js
deleted file mode 100644
index 66dd942..0000000
--- a/assets/js/507e1a4c.15443d4b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[58509],{62276:function(e){e.exports=JSON.parse('{"blogPosts":[{"id":"Apache APISIX \u4ece\u5f00\u6e90\u9879\u76ee\u5230\u5546\u4e1a\u5316\u4e4b\u8def","metadata":{"permalink":"/articles/Apache-APISIX-From-OpenSource-Commercialization","source":"@site/articles/Apache-APISIX-From-OpenSource-Commercialization.md","title":"Apache APISIX \u4ece\u5f00\u6e90\u9879\u76ee\u5230\u5546\u4e1a\u5316\u4e4b\u8def","description":"Apache APISI [...]
\ No newline at end of file
diff --git a/assets/js/507e1a4c.16ab96bb.js b/assets/js/507e1a4c.16ab96bb.js
new file mode 100644
index 0000000..d088fba
--- /dev/null
+++ b/assets/js/507e1a4c.16ab96bb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[58509],{62276:function(e){e.exports=JSON.parse('{"blogPosts":[{"id":"Apache APISIX \u4ece\u5f00\u6e90\u9879\u76ee\u5230\u5546\u4e1a\u5316\u4e4b\u8def","metadata":{"permalink":"/articles/Apache-APISIX-From-OpenSource-Commercialization","source":"@site/articles/Apache-APISIX-From-OpenSource-Commercialization.md","title":"Apache APISIX \u4ece\u5f00\u6e90\u9879\u76ee\u5230\u5546\u4e1a\u5316\u4e4b\u8def","description":"Apache APISI [...]
\ No newline at end of file
diff --git a/assets/js/50facf8e.0693e9ff.js b/assets/js/50facf8e.0693e9ff.js
deleted file mode 100644
index 7efc0c3..0000000
--- a/assets/js/50facf8e.0693e9ff.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.21df856d.js b/assets/js/50facf8e.21df856d.js
new file mode 100644
index 0000000..3df3c16
--- /dev/null
+++ b/assets/js/50facf8e.21df856d.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.a54e14f8.js b/assets/js/52099127.a54e14f8.js
new file mode 100644
index 0000000..be57314
--- /dev/null
+++ b/assets/js/52099127.a54e14f8.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":82,"previousPage":"/blog/page/6","nextPage":"/blog/page/8","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/52099127.cc301d16.js b/assets/js/52099127.cc301d16.js
deleted file mode 100644
index 216e8b3..0000000
--- a/assets/js/52099127.cc301d16.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":81,"previousPage":"/blog/page/6","nextPage":"/blog/page/8","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/542fd41f.1c948277.js b/assets/js/542fd41f.1c948277.js
deleted file mode 100644
index 947b029..0000000
--- a/assets/js/542fd41f.1c948277.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.98e1ead0.js b/assets/js/542fd41f.98e1ead0.js
new file mode 100644
index 0000000..885c8d4
--- /dev/null
+++ b/assets/js/542fd41f.98e1ead0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4316],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r, [...]
\ No newline at end of file
diff --git a/assets/js/55207995.43d4d097.js b/assets/js/55207995.43d4d097.js
new file mode 100644
index 0000000..179029c
--- /dev/null
+++ b/assets/js/55207995.43d4d097.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":20,"permalink":"/blog/tags/technology"}')}}]);
\ No newline at end of file
diff --git a/assets/js/55207995.7ee2424c.js b/assets/js/55207995.7ee2424c.js
deleted file mode 100644
index 29add11..0000000
--- a/assets/js/55207995.7ee2424c.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":19,"permalink":"/blog/tags/technology"}')}}]);
\ No newline at end of file
diff --git a/assets/js/55d51671.c9a302eb.js b/assets/js/55d51671.c9a302eb.js
new file mode 100644
index 0000000..dc8a36c
--- /dev/null
+++ b/assets/js/55d51671.c9a302eb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[71988],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return m}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/601c6eaa.6489da94.js b/assets/js/601c6eaa.6489da94.js
new file mode 100644
index 0000000..ec782c0
--- /dev/null
+++ b/assets/js/601c6eaa.6489da94.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[97117],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/601c6eaa.b68128a2.js b/assets/js/601c6eaa.b68128a2.js
deleted file mode 100644
index 6a4863d..0000000
--- a/assets/js/601c6eaa.b68128a2.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/66fbb9c2.b27c7441.js b/assets/js/66fbb9c2.b27c7441.js
new file mode 100644
index 0000000..f109f5a
--- /dev/null
+++ b/assets/js/66fbb9c2.b27c7441.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7668],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r, [...]
\ No newline at end of file
diff --git a/assets/js/66fbb9c2.be588dab.js b/assets/js/66fbb9c2.be588dab.js
deleted file mode 100644
index b450c03..0000000
--- a/assets/js/66fbb9c2.be588dab.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/7af3052c.2d03d20a.js b/assets/js/7af3052c.2d03d20a.js
new file mode 100644
index 0000000..7befb4f
--- /dev/null
+++ b/assets/js/7af3052c.2d03d20a.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.991ba880.js b/assets/js/7af3052c.991ba880.js
deleted file mode 100644
index 7bc8ab5..0000000
--- a/assets/js/7af3052c.991ba880.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.c1f39639.js b/assets/js/7d9726a8.c1f39639.js
new file mode 100644
index 0000000..09cf63d
--- /dev/null
+++ b/assets/js/7d9726a8.c1f39639.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":82,"previousPage":"/blog/page/3","nextPage":"/blog/page/5","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/7d9726a8.e4577d7b.js b/assets/js/7d9726a8.e4577d7b.js
deleted file mode 100644
index b4f25c3..0000000
--- a/assets/js/7d9726a8.e4577d7b.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":81,"previousPage":"/blog/page/3","nextPage":"/blog/page/5","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/80791de8.1cbd6201.js b/assets/js/80791de8.1cbd6201.js
deleted file mode 100644
index 08b5df2..0000000
--- a/assets/js/80791de8.1cbd6201.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[50466],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return O}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/80791de8.5799a43a.js b/assets/js/80791de8.5799a43a.js
new file mode 100644
index 0000000..ca6b650
--- /dev/null
+++ b/assets/js/80791de8.5799a43a.js
@@ -0,0 +1 @@
+"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.d5ee18bb.js b/assets/js/814f3328.d5ee18bb.js
deleted file mode 100644
index e23dda0..0000000
--- a/assets/js/814f3328.d5ee18bb.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":"Developing APISIX Ingress Controller with Nocalhost in Kubernetes","permalink":"/blog/2021/11/22/develop-apisix-ingress-with-nocalhost-in-kubernetes"},{"title":"Apache APISIX embraces the WASM ecosystem","permalink":"/blog/2021/11/19/apisix-supports-wasm"},{"title":"How to integrate with Dapr to build Apache APISIX Gateway Controller","perm [...]
\ No newline at end of file
diff --git a/assets/js/814f3328.f89aac7b.js b/assets/js/814f3328.f89aac7b.js
new file mode 100644
index 0000000..be71215
--- /dev/null
+++ b/assets/js/814f3328.f89aac7b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[52535],{45641:function(e){e.exports=JSON.parse('{"title":"All posts","items":[{"title":"Apache APISIX Path traversal in request_uri variable(CVE-2021-43557)","permalink":"/blog/2021/11/23/cve-2021-43557-research-report"},{"title":"Developing APISIX Ingress Controller with Nocalhost in Kubernetes","permalink":"/blog/2021/11/22/develop-apisix-ingress-with-nocalhost-in-kubernetes"},{"title":"Apache APISIX embraces the WASM ecosys [...]
\ No newline at end of file
diff --git a/assets/js/8e784bf3.0b2ba00a.js b/assets/js/8e784bf3.0b2ba00a.js
new file mode 100644
index 0000000..ee37964
--- /dev/null
+++ b/assets/js/8e784bf3.0b2ba00a.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.7041ef69.js b/assets/js/8e784bf3.7041ef69.js
deleted file mode 100644
index ce47bdb..0000000
--- a/assets/js/8e784bf3.7041ef69.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.e3ca7da8.js b/assets/js/8eb4e46b.e3ca7da8.js
deleted file mode 100644
index 970f490..0000000
--- a/assets/js/8eb4e46b.e3ca7da8.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":81,"previousPage":"/blog","nextPage":"/blog/page/3","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/8eb4e46b.f888aac4.js b/assets/js/8eb4e46b.f888aac4.js
new file mode 100644
index 0000000..2620107
--- /dev/null
+++ b/assets/js/8eb4e46b.f888aac4.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":82,"previousPage":"/blog","nextPage":"/blog/page/3","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/8f700fa6.176ab0d2.js b/assets/js/8f700fa6.176ab0d2.js
deleted file mode 100644
index 0766356..0000000
--- a/assets/js/8f700fa6.176ab0d2.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 o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/8f700fa6.3de87fd5.js b/assets/js/8f700fa6.3de87fd5.js
new file mode 100644
index 0000000..7f8cd54
--- /dev/null
+++ b/assets/js/8f700fa6.3de87fd5.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 o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/90fc8a94.3a16acc2.js b/assets/js/90fc8a94.3a16acc2.js
deleted file mode 100644
index 9709fd0..0000000
--- a/assets/js/90fc8a94.3a16acc2.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 o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/90fc8a94.9a771292.js b/assets/js/90fc8a94.9a771292.js
new file mode 100644
index 0000000..325b47c
--- /dev/null
+++ b/assets/js/90fc8a94.9a771292.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 o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/92999a1c.38d1629c.js b/assets/js/92999a1c.38d1629c.js
new file mode 100644
index 0000000..e5df9df
--- /dev/null
+++ b/assets/js/92999a1c.38d1629c.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":82,"previousPage":"/blog/page/2","nextPage":"/blog/page/4","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/92999a1c.81d22cf9.js b/assets/js/92999a1c.81d22cf9.js
deleted file mode 100644
index a78e0e2..0000000
--- a/assets/js/92999a1c.81d22cf9.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":81,"previousPage":"/blog/page/2","nextPage":"/blog/page/4","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/941960b1.042d6685.js b/assets/js/941960b1.042d6685.js
deleted file mode 100644
index 9186cfa..0000000
--- a/assets/js/941960b1.042d6685.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 o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/941960b1.65a20b89.js b/assets/js/941960b1.65a20b89.js
new file mode 100644
index 0000000..0933fd7
--- /dev/null
+++ b/assets/js/941960b1.65a20b89.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 o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/98b657d8.4856696e.js b/assets/js/98b657d8.4856696e.js
deleted file mode 100644
index 47b51e3..0000000
--- a/assets/js/98b657d8.4856696e.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":81,"previousPage":"/blog/page/7","nextPage":"/blog/page/9","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/98b657d8.bef3dd0b.js b/assets/js/98b657d8.bef3dd0b.js
new file mode 100644
index 0000000..d19242d
--- /dev/null
+++ b/assets/js/98b657d8.bef3dd0b.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":82,"previousPage":"/blog/page/7","nextPage":"/blog/page/9","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/a7023ddc.646a75d5.js b/assets/js/a7023ddc.646a75d5.js
deleted file mode 100644
index ca4e8da..0000000
--- a/assets/js/a7023ddc.646a75d5.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":19,"permalink":"/blog/tags/technology"},"/blog/tags/events":{"allTagsPath":"/blog/tags","slug":"/blog/tags/events","name":"Events","count":18,"permalink":"/blog/tags/events"},"/blog/tags/user-case":{"allTagsPath":"/blog/tags","slug":"/blog/tags/user-case","name":"User C [...]
\ No newline at end of file
diff --git a/assets/js/a7023ddc.f1e11339.js b/assets/js/a7023ddc.f1e11339.js
new file mode 100644
index 0000000..e15fcaf
--- /dev/null
+++ b/assets/js/a7023ddc.f1e11339.js
@@ -0,0 +1 @@
+"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":20,"permalink":"/blog/tags/technology"},"/blog/tags/events":{"allTagsPath":"/blog/tags","slug":"/blog/tags/events","name":"Events","count":18,"permalink":"/blog/tags/events"},"/blog/tags/user-case":{"allTagsPath":"/blog/tags","slug":"/blog/tags/user-case","name":"User C [...]
\ No newline at end of file
diff --git a/assets/js/adbb350b.2381b8f3.js b/assets/js/adbb350b.2381b8f3.js
new file mode 100644
index 0000000..b1367bd
--- /dev/null
+++ b/assets/js/adbb350b.2381b8f3.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/adbb350b.fd85ed5a.js b/assets/js/adbb350b.fd85ed5a.js
deleted file mode 100644
index 3571b46..0000000
--- a/assets/js/adbb350b.fd85ed5a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[85427],{3905:function(e,t,i){i.d(t,{Zo:function(){return p},kt:function(){return d}});var r=i(67294);function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function n(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i [...]
\ No newline at end of file
diff --git a/assets/js/b2b675dd.00cb60cb.js b/assets/js/b2b675dd.00cb60cb.js
new file mode 100644
index 0000000..990d27e
--- /dev/null
+++ b/assets/js/b2b675dd.00cb60cb.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":82,"previousPage":null,"nextPage":"/blog/page/2","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/b2b675dd.ccb86dda.js b/assets/js/b2b675dd.ccb86dda.js
deleted file mode 100644
index fddee89..0000000
--- a/assets/js/b2b675dd.ccb86dda.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":81,"previousPage":null,"nextPage":"/blog/page/2","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/b2f554cd.540aafb2.js b/assets/js/b2f554cd.540aafb2.js
new file mode 100644
index 0000000..0e01b44
--- /dev/null
+++ b/assets/js/b2f554cd.540aafb2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[11477],{30010:function(e){e.exports=JSON.parse('{"blogPosts":[{"id":"Apache APISIX Path traversal in request_uri variable(CVE-2021-43557)","metadata":{"permalink":"/blog/2021/11/23/cve-2021-43557-research-report","source":"@site/blog/2021/11/23/cve-2021-43557-research-report.md","title":"Apache APISIX Path traversal in request_uri variable(CVE-2021-43557)","description":"Research report about Apache APISIX Path traversal in re [...]
\ No newline at end of file
diff --git a/assets/js/b2f554cd.e6160128.js b/assets/js/b2f554cd.e6160128.js
deleted file mode 100644
index ea2e30e..0000000
--- a/assets/js/b2f554cd.e6160128.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[11477],{30010:function(e){e.exports=JSON.parse('{"blogPosts":[{"id":"Developing APISIX Ingress Controller with Nocalhost in Kubernetes","metadata":{"permalink":"/blog/2021/11/22/develop-apisix-ingress-with-nocalhost-in-kubernetes","source":"@site/blog/2021/11/22/develop-apisix-ingress-with-nocalhost-in-kubernetes.md","title":"Developing APISIX Ingress Controller with Nocalhost in Kubernetes","description":"This article walks y [...]
\ No newline at end of file
diff --git a/assets/js/d18db9b0.9251e584.js b/assets/js/d18db9b0.9251e584.js
deleted file mode 100644
index ab01a56..0000000
--- a/assets/js/d18db9b0.9251e584.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[17825],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/d18db9b0.e7da0636.js b/assets/js/d18db9b0.e7da0636.js
new file mode 100644
index 0000000..8a68c41
--- /dev/null
+++ b/assets/js/d18db9b0.e7da0636.js
@@ -0,0 +1 @@
+"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/e9b22e98.4d9ceff4.js b/assets/js/e9b22e98.4d9ceff4.js
new file mode 100644
index 0000000..5520701
--- /dev/null
+++ b/assets/js/e9b22e98.4d9ceff4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[17776],{3905:function(e,t,a){a.d(t,{Zo:function(){return c},kt:function(){return m}});var n=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(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/f091cc2c.a18ccefb.js b/assets/js/f091cc2c.a18ccefb.js
deleted file mode 100644
index e6e1aec..0000000
--- a/assets/js/f091cc2c.a18ccefb.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":81,"previousPage":"/blog/page/8","nextPage":null,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/f091cc2c.ad5d3859.js b/assets/js/f091cc2c.ad5d3859.js
new file mode 100644
index 0000000..8b9d8aa
--- /dev/null
+++ b/assets/js/f091cc2c.ad5d3859.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":82,"previousPage":"/blog/page/8","nextPage":null,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/main.19b50889.js b/assets/js/main.19b50889.js
deleted file mode 100644
index 6d829b9..0000000
--- a/assets/js/main.19b50889.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.19b50889.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/main.e9f04561.js b/assets/js/main.e9f04561.js
new file mode 100644
index 0000000..f9c368e
--- /dev/null
+++ b/assets/js/main.e9f04561.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.e9f04561.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.06fc6947.js.LICENSE.txt b/assets/js/main.e9f04561.js.LICENSE.txt
similarity index 100%
rename from zh/assets/js/main.06fc6947.js.LICENSE.txt
rename to assets/js/main.e9f04561.js.LICENSE.txt
diff --git a/assets/js/runtime~main.cce36a08.js b/assets/js/runtime~main.cce36a08.js
new file mode 100644
index 0000000..0862be4
--- /dev/null
+++ b/assets/js/runtime~main.cce36a08.js
@@ -0,0 +1 @@
+!function(){"use strict";var e,c,b,f,d={},a={};function t(e){var c=a[e];if(void 0!==c)return c.exports;var b=a[e]={id:e,loaded:!1,exports:{}};return d[e].call(b.exports,b,b.exports,t),b.loaded=!0,b.exports}t.m=d,t.c=a,e=[],t.O=function(c,b,f,d){if(!b){var a=1/0;for(u=0;u<e.length;u++){b=e[u][0],f=e[u][1],d=e[u][2];for(var n=!0,r=0;r<b.length;r++)(!1&d||a>=d)&&Object.keys(t.O).every((function(e){return t.O[e](b[r])}))?b.splice(r--,1):(n=!1,d<a&&(a=d));if(n){e.splice(u--,1);var o=f();void  [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.de17f345.js b/assets/js/runtime~main.de17f345.js
deleted file mode 100644
index dd6a11e..0000000
--- a/assets/js/runtime~main.de17f345.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(){"use strict";var e,c,b,f,d={},a={};function t(e){var c=a[e];if(void 0!==c)return c.exports;var b=a[e]={id:e,loaded:!1,exports:{}};return d[e].call(b.exports,b,b.exports,t),b.loaded=!0,b.exports}t.m=d,t.c=a,e=[],t.O=function(c,b,f,d){if(!b){var a=1/0;for(u=0;u<e.length;u++){b=e[u][0],f=e[u][1],d=e[u][2];for(var n=!0,r=0;r<b.length;r++)(!1&d||a>=d)&&Object.keys(t.O).every((function(e){return t.O[e](b[r])}))?b.splice(r--,1):(n=!1,d<a&&(a=d));if(n){e.splice(u--,1);var o=f();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 e2315dd..375ed26 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
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix. [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 d5f86e0..8d841e4 100644
--- a/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
+++ b/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="t [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 A pluggable filter chain mechanism allows filters to be written to perform different tasks and inserted into the main server.</p><p><img src="https://static.apiseven.com/filters.png" alt="Envoy filter"></p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="expansion-method"></a>Expansion method<a class="hash-link" href="#expansion-method" title="Direct link to heading">#</a></h3><p>The existing filters may not meet the user&#x27;s cust [...]
 In the example, we configured plugin <code>uri-blocker</code> for the route whose prefix is ​​<code>/foo</code>, as well as the block rule of the plugin and the response status when a block is required.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor anchor__h4 anchorWithHideOnScrollNavbar_3R7-" id="second-step-parse-request"></a>Second step, parse request<a class="hash-link" href="#second-step-parse-request" title="Direct link to heading">#</a></h4><p>We encapsulated the client [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 6e75df0..a8f5720 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
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">A First Look at Kubernetes Service APIs | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="http [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 8fde233..eb43bf6 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
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="http [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 14d9f1a..a0e80b9 100644
--- a/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
+++ b/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Run Ingress APISIX on Amazon EKS | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://api [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token string" style="color:#e3116c">&quot;headers&quot;</span><span class="token builtin class-name">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</s [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 623e479..dfb163b 100644
--- a/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
+++ b/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
@@ -16,16 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https:/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 4623a7e..94b059f 100644
--- a/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
+++ b/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">NAME                    CHART VERSION   APP VERSION     DESCRIPTION</span></span><span class="token-line" style="color:#393A34"><span class="token plain">apisix/apisix           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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 e2525e2..7099e76 100644
--- a/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html
+++ b/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Get Front-End Test Coverage with Cypress | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 9d370f2..95cdca9 100644
--- a/blog/2021/05/24/Tencent-Games/index.html
+++ b/blog/2021/05/24/Tencent-Games/index.html
@@ -16,18 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https:/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 (这里需要澄清的是,本文讨论的网关特指 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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 fe95ec6..fd5fdf0 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	
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 2.6.0-Release Officially Released | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" conte [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 b760663..cd661fd 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
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Experience sharing from Apache APISIX committer - Interview with Summer of Programming | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 45ae900..c1b77f2 100644
--- a/blog/2021/06/06/apisix-two-years/index.html
+++ b/blog/2021/06/06/apisix-two-years/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Open Source 2 Year Anniversary! | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 23433e6..93dad4c 100644
--- a/blog/2021/06/07/Apache-APISIX-not-affected-by-NGINX-CVE-2021-23017/index.html
+++ b/blog/2021/06/07/Apache-APISIX-not-affected-by-NGINX-CVE-2021-23017/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX not affected by NGINX CVE-2021-23017 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" co [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 93884d5..7a74f53 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
@@ -16,17 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:i [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 0d1207f..c5e7546 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
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Chaos Mesh Helps Apache APISIX Improve Stability | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" cont [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 bb5db88..585cc8b 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
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Dashboard Access Control Bypass Vulnerability Advisory (CVE-2021-33190) | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-he [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 44d147c..e6087ad 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
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 6373b8f..7b41b5a 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
@@ -16,12 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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">
@@ -37,7 +37,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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 cc01cbc..ae50d01 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
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Deploy Apache APISIX and Apache APISIX Ingress Controller on Rancher | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 1f62928..344b546 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
@@ -16,16 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.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.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 1cbc226..f83a632 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
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.7.0 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.a [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 4c970df..2d0632d 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
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 429dc36..3542733 100644
--- a/blog/2021/07/06/celebrate-200-contributors/index.html
+++ b/blog/2021/07/06/celebrate-200-contributors/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.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.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 Welcome to join the Apache APISIX community, welcome to use Apache APISIX!</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="contributors-say"></a>Contributors Say<a class="hash-link" href="#contributors-say" title="Direct link to heading">#</a></h2><p>When reaching 200 contributors, the contributors in the community sent their blessings to Apache APISIX. Here are what they want to say to Apache APISIX.</p><p><a href="https://githu [...]
 community activity</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="join-the-apache-apisix-community"></a>Join the Apache APISIX community<a class="hash-link" href="#join-the-apache-apisix-community" title="Direct link to heading">#</a></h2><p>Sincerely invite you to join the Apache APISIX open source community, let us work together to create the best API gateway in the cloud-native era!</p><p>There is no barrier to becoming an Ap [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 cde2d41..8eb36d0 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
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">The Road to Customized Development of Sina Weibo API Gateway | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.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.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 c93c12c..9be3ce9 100644
--- a/blog/2021/07/21/Apache-APISIX-Kubernetes/index.html
+++ b/blog/2021/07/21/Apache-APISIX-Kubernetes/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 e501716..27481f4 100644
--- a/blog/2021/07/25/apachecon-asia/index.html
+++ b/blog/2021/07/25/apachecon-asia/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ApacheCon Asia 2021: Apache APISIX Technical Topics | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" c [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 beb7bfe..be0587d 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
@@ -16,19 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.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.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 bb392f0..f504aa1 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
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.8.0 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.a [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 👇👇👇</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="release-notes"></a>Release Notes<a class="hash-link" href="#release-notes" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="new-feature-independent-keepalive-connection-pool"></a>New feature: Independent Keepalive connection pool<a class="hash-link" href="#new-feature-independent-keep [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 39854f4..f742117 100644
--- a/blog/2021/08/05/Kong-to-APISIX/index.html
+++ b/blog/2021/08/05/Kong-to-APISIX/index.html
@@ -16,19 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 9dc200b..6ed72bc 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
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.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.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 16aca9d..36e639b 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
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 在移动云的应用 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 7e7e6b4..94c4d7f 100644
--- a/blog/2021/08/09/Apache-APISIX-in-Quliankeji/index.html
+++ b/blog/2021/08/09/Apache-APISIX-in-Quliankeji/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Abandoning Kong and Nginx, Hyperchain Technology implements on its BaaS platform | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 3236da6..2e411ed 100644
--- a/blog/2021/08/10/apisix-nginx/index.html
+++ b/blog/2021/08/10/apisix-nginx/index.html
@@ -16,12 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <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 [...]
@@ -40,7 +40,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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 2d857cf..6e5e468 100644
--- a/blog/2021/08/11/interview-TuZhengsong/index.html
+++ b/blog/2021/08/11/interview-TuZhengsong/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">I issued my first PR in the Apache APISIX community | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" c [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 d4d9a14..a4fa5ab 100644
--- a/blog/2021/08/12/Chaos-Mesh-Helps-Apache-APISIX-Improve-System-Stability/index.html
+++ b/blog/2021/08/12/Chaos-Mesh-Helps-Apache-APISIX-Improve-System-Stability/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Chaos Mesh Helps Apache APISIX Improve System Stability | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:imag [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 5f4fce2..3805aa9 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
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:imag [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <a href="https://github.com/api7/contributor-graph" target="_blank" rel="noopener noreferrer">https://github.com/api7/contributor-graph</a></p></blockquote><p>Behind these fast-growing numbers, open source maintainers did a lot of work on propaganda, article, media, Meetups, etc., to attract more developers for their projects, It’s a lot to take in.</p><p>So for developers, how can they find out which one is the best fit for their company among the hundreds of projects on GitHub?</p><p>V [...]
 As maintainers and developers of open source projects, we also need such golden metrics to guide us. Therefore, we propose two dimensions, “Contributor Growth” and “Active Contributors”, and open source the statistics and analysis process: <a href="https://github.com/api7/contributor-graph" target="_blank" rel="noopener noreferrer">https://github.com/api7/contributor-graph</a>, you can also search directly through <a href="https://www.apiseven.com/zh/contributor-graph" target="_blank" re [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 2fe403f..88ba9ee 100644
--- a/blog/2021/08/16/Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication/index.html
+++ b/blog/2021/08/16/Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication/index.html
@@ -16,18 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 1dd9e57..27cfb59 100644
--- a/blog/2021/08/17/interview-airwallex/index.html
+++ b/blog/2021/08/17/interview-airwallex/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX in Airwallex | Interview with Yang Li, Head of Airwallex Technology Platform | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-rea [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 84ed50e..5838f1d 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
@@ -16,12 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <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 [...]
@@ -36,7 +36,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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 814bdc0..3d3f053 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
@@ -16,16 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 df800ad..82d2414 100644
--- a/blog/2021/08/19/weekly-report/index.html
+++ b/blog/2021/08/19/weekly-report/index.html
@@ -16,12 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://a [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <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 [...]
@@ -39,7 +39,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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 b4aa643..db5514f 100644
--- a/blog/2021/08/21/shanghai-meetup/index.html
+++ b/blog/2021/08/21/shanghai-meetup/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">August 21 Apache APISIX Meetup Shanghai, welcome to register! | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitte [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 d896d8d..bd74661 100644
--- a/blog/2021/08/23/ApacheCon-Asia-2021/index.html
+++ b/blog/2021/08/23/ApacheCon-Asia-2021/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ApacheCon Asia 2021 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.or [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 5c6b787..360b3b1 100644
--- a/blog/2021/08/23/weekly-report/index.html
+++ b/blog/2021/08/23/weekly-report/index.html
@@ -16,12 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https:// [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <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>
@@ -33,7 +33,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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 b04fafe..06e1751 100644
--- a/blog/2021/08/24/shanghai-meetup-recap/index.html
+++ b/blog/2021/08/24/shanghai-meetup-recap/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Meetup in Shanghai | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://api [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 972d4ea..15a4e14 100644
--- a/blog/2021/08/25/Auth-with-Casbin-in-Apache-APISIX/index.html
+++ b/blog/2021/08/25/Auth-with-Casbin-in-Apache-APISIX/index.html
@@ -16,12 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">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 [...]
@@ -32,7 +32,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            [matchers]</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            m = (g(r.sub, p.sub) || keyMatch(r.sub, p.sub)) &amp;&amp; keyMatch(r.obj, p.obj) &amp;&amp; keyMatch(r.act, p.act)&quot;,</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="display:inline-block; [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            &quot;policy&quot;: &quot;p, *, /, GET</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            p, admin, *, *</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            g, alice, admin&quot;,</span></span><span class="token-line" style="color: [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            &quot;username&quot;: &quot;user&quot;</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">        }</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">    },</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="co [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 43576e3..88930d4 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
@@ -16,18 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="tr [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 7077c45..55f16d7 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
@@ -16,16 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:i [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 079afb9..c97dde9 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
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.9 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 76fad53..d6ab502 100644
--- a/blog/2021/08/30/Ingress-Meeting/index.html
+++ b/blog/2021/08/30/Ingress-Meeting/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-hel [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 fb63d6f..867e160 100644
--- a/blog/2021/08/30/weekly-report/index.html
+++ b/blog/2021/08/30/weekly-report/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Community Weekly Report | 2021 8.23-8.29 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 e84e274..3e1e7e7 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"	
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX × KubeSphere: Providing a better gateway and K8S Ingress Controller | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 b5658c6..d97ff96 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
@@ -16,12 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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" [...]
@@ -39,7 +39,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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 14a91a3..a91dcbf 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
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Centralized Authentication with Apache APISIX and Advanced Tricks | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="tw [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 32ec222..fafbc68 100644
--- a/blog/2021/09/07/iQIYI-usercase/index.html
+++ b/blog/2021/09/07/iQIYI-usercase/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Based on Apache APISIX, iQIYI API Gateway Update and landing practice | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 9f3e590..2d06111 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
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How can I contribute to an open source project without writing code? | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 7973971..2b262e3 100644
--- a/blog/2021/09/13/china-mobile-cloud-usercase/index.html
+++ b/blog/2021/09/13/china-mobile-cloud-usercase/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 6f8aea4..9f7db3d 100644
--- a/blog/2021/09/14/youzan/index.html
+++ b/blog/2021/09/14/youzan/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX powers the Youzanyun native PaaS platform for comprehensive micro-service governance | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta  [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 e4c8de7..8ba317b 100644
--- a/blog/2021/09/15/weekly-report/index.html
+++ b/blog/2021/09/15/weekly-report/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 63ac701..b99f016 100644
--- a/blog/2021/09/16/tencent-cloud/index.html
+++ b/blog/2021/09/16/tencent-cloud/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Implementing Apache APISIX in Tencent Cloud TI-ONE Platform | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.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.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 cbc7be4..d2a1b26 100644
--- a/blog/2021/09/18/xiaodian-usercase/index.html
+++ b/blog/2021/09/18/xiaodian-usercase/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX helps DIAN to facilitate cloud native solution | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.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.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 ca34545..eea62b1 100644
--- a/blog/2021/09/24/youpaicloud-usercase/index.html
+++ b/blog/2021/09/24/youpaicloud-usercase/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-reac [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 ce64de5..d306067 100644
--- a/blog/2021/09/28/WPS-usercase/index.html
+++ b/blog/2021/09/28/WPS-usercase/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 a810573..b8de196 100644
--- a/blog/2021/09/29/release-apache-apisix-2.10/index.html
+++ b/blog/2021/09/29/release-apache-apisix-2.10/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.10.0 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix. [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 e6989b0..db06b60 100644
--- a/blog/2021/09/30/weekly-report/index.html
+++ b/blog/2021/09/30/weekly-report/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Community Weekly|New committer, feature highlight update in progress | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 c652dc4..5a6a9ea 100644
--- a/blog/2021/10/01/openEuler/index.html
+++ b/blog/2021/10/01/openEuler/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX community members help openEuler release first community innovation version | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-reac [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 2977672..4b447f2 100644
--- a/blog/2021/10/09/apisix-ingress-techblog/index.html
+++ b/blog/2021/10/09/apisix-ingress-techblog/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 29832e8..ebd84c8 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
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 5b2e167..7618dc7 100644
--- a/blog/2021/10/14/weekly-report-1014/index.html
+++ b/blog/2021/10/14/weekly-report-1014/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Community Weekly|10.1-10.14 Feature Highlight Updates in Progress | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="tw [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 cc38699..99d747e 100644
--- a/blog/2021/10/18/meetup/index.html
+++ b/blog/2021/10/18/meetup/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Webinar | Apache APISIX × Apache SkyWalking Online Meetup | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:im [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 534ee53..67f748b 100644
--- a/blog/2021/10/22/cert-manager-in-ingress/index.html
+++ b/blog/2021/10/22/cert-manager-in-ingress/index.html
@@ -16,18 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-r [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 2258411..ff2a4e7 100644
--- a/blog/2021/10/26/APISIX-Ingress/index.html
+++ b/blog/2021/10/26/APISIX-Ingress/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 e076a7c..ea39d4c 100644
--- a/blog/2021/10/29/Extension-guide/index.html
+++ b/blog/2021/10/29/Extension-guide/index.html
@@ -16,12 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisi [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </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>< [...]
@@ -32,7 +32,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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 7ecae11..bf222d8 100644
--- a/blog/2021/11/02/weekly-report-1031/index.html
+++ b/blog/2021/11/02/weekly-report-1031/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Weekly Report|10.15-10.31 Feature Highlights Update in Progress | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twit [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 529567f..fd1cdda 100644
--- a/blog/2021/11/03/airwallex-usercase/index.html
+++ b/blog/2021/11/03/airwallex-usercase/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How Apache APISIX protects Airwallex data sovereignty through the gateway layer | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 6246c67..aedaa41 100644
--- a/blog/2021/11/04/skywalking/index.html
+++ b/blog/2021/11/04/skywalking/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">The observability of Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://a [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 a4a1697..634cd73 100644
--- a/blog/2021/11/12/apisix-datadog/index.html
+++ b/blog/2021/11/12/apisix-datadog/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Cloud Monitoring with Datadog in Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 fdea4af..17113e1 100644
--- a/blog/2021/11/16/weekly-report-1114/index.html
+++ b/blog/2021/11/16/weekly-report-1114/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Weekly Report|11.1-11.14 Feature Highlights Update in Progress | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 406340d..e76cc9d 100644
--- a/blog/2021/11/17/dapr-with-apisix/index.html
+++ b/blog/2021/11/17/dapr-with-apisix/index.html
@@ -16,16 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 a3f3ee1..c66d88b 100644
--- a/blog/2021/11/19/apisix-supports-wasm/index.html
+++ b/blog/2021/11/19/apisix-supports-wasm/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="ht [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 fdb7b72..8735759 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
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Developing APISIX Ingress Controller with Nocalhost in Kubernetes | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="tw [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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
new file mode 100644
index 0000000..a2d1d6a
--- /dev/null
+++ b/blog/2021/11/23/cve-2021-43557-research-report/index.html
@@ -0,0 +1,29 @@
+<!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="/releases/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
+<link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
+<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
+<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
+<link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name= [...]
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
+</head>
+<body>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+</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.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/blog/archive/index.html b/blog/archive/index.html
index f1af630..62f5769 100644
--- a/blog/archive/index.html
+++ b/blog/archive/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Archive | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Archive | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/atom.xml b/blog/atom.xml
index 3a6f8b8..d3c652e 100644
--- a/blog/atom.xml
+++ b/blog/atom.xml
@@ -2,12 +2,23 @@
 <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-11-22T00:00:00.000Z</updated>
+    <updated>2021-11-23T00: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 Path traversal in request_uri variable(CVE-2021-43557)]]></title>
+        <id>Apache APISIX Path traversal in request_uri variable(CVE-2021-43557)</id>
+        <link href="https://apisix.apache.org/blog/2021/11/23/cve-2021-43557-research-report"/>
+        <updated>2021-11-23T00:00:00.000Z</updated>
+        <summary type="html"><![CDATA[Research report about Apache APISIX Path traversal in request_uri variable(CVE-2021-43557)]]></summary>
+        <author>
+            <name>Marcin Niemiec</name>
+            <uri>https://github.com/xvnpw</uri>
+        </author>
+    </entry>
+    <entry>
         <title type="html"><![CDATA[Developing APISIX Ingress Controller with Nocalhost in Kubernetes]]></title>
         <id>Developing APISIX Ingress Controller with Nocalhost in Kubernetes</id>
         <link href="https://apisix.apache.org/blog/2021/11/22/develop-apisix-ingress-with-nocalhost-in-kubernetes"/>
diff --git a/blog/index.html b/blog/index.html
index 1dca12b..e5cc598 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 b6dd842..0829d58 100644
--- a/blog/page/2/index.html
+++ b/blog/page/2/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 e595791..18cb2a5 100644
--- a/blog/page/3/index.html
+++ b/blog/page/3/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 37c9c7f..4baed13 100644
--- a/blog/page/4/index.html
+++ b/blog/page/4/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 ea304b4..0f95d55 100644
--- a/blog/page/5/index.html
+++ b/blog/page/5/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 04aae08..0a8ffd2 100644
--- a/blog/page/6/index.html
+++ b/blog/page/6/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 f59d8a8c..07e4436 100644
--- a/blog/page/7/index.html
+++ b/blog/page/7/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 d4ffc14..7481820 100644
--- a/blog/page/8/index.html
+++ b/blog/page/8/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 ce1e6ef..409ffe0 100644
--- a/blog/page/9/index.html
+++ b/blog/page/9/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/rss.xml b/blog/rss.xml
index 30536dd..0ea49f6 100644
--- a/blog/rss.xml
+++ b/blog/rss.xml
@@ -4,10 +4,17 @@
         <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>Mon, 22 Nov 2021 00:00:00 GMT</lastBuildDate>
+        <lastBuildDate>Tue, 23 Nov 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 Path traversal in request_uri variable(CVE-2021-43557)]]></title>
+            <link>https://apisix.apache.org/blog/2021/11/23/cve-2021-43557-research-report</link>
+            <guid>Apache APISIX Path traversal in request_uri variable(CVE-2021-43557)</guid>
+            <pubDate>Tue, 23 Nov 2021 00:00:00 GMT</pubDate>
+            <description><![CDATA[Research report about Apache APISIX Path traversal in request_uri variable(CVE-2021-43557)]]></description>
+        </item>
+        <item>
             <title><![CDATA[Developing APISIX Ingress Controller with Nocalhost in Kubernetes]]></title>
             <link>https://apisix.apache.org/blog/2021/11/22/develop-apisix-ingress-with-nocalhost-in-kubernetes</link>
             <guid>Developing APISIX Ingress Controller with Nocalhost in Kubernetes</guid>
diff --git a/blog/tags/community/index.html b/blog/tags/community/index.html
index 32f4cea..1613262 100644
--- a/blog/tags/community/index.html
+++ b/blog/tags/community/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">2 posts tagged with &quot;Community&quot; | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="2 posts tagged with &quot;Community&quot; | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 6638505..dcf2064 100644
--- a/blog/tags/events/index.html
+++ b/blog/tags/events/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">18 posts tagged with &quot;Events&quot; | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="18 posts tagged with &quot;Events&quot; | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helme [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/tags/index.html b/blog/tags/index.html
index eb2700c..14d05c0 100644
--- a/blog/tags/index.html
+++ b/blog/tags/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Tags | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Tags | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 d75b4ef..5da64a6 100644
--- a/blog/tags/interview/index.html
+++ b/blog/tags/interview/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">5 posts tagged with &quot;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" name="twitter:card" content="summary_large_image"><meta data-react-h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 c479405..c554e5e 100644
--- a/blog/tags/practical-case/index.html
+++ b/blog/tags/practical-case/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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" name="twitter:card" content="summary_large_image"><meta  [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 9fb4265..4b08bbd 100644
--- a/blog/tags/release/index.html
+++ b/blog/tags/release/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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" name="twitter:card" content="summary_large_image"><meta data-react-helme [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 063cf0b..d7d057a 100644
--- a/blog/tags/security/index.html
+++ b/blog/tags/security/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">2 posts tagged with &quot;Security&quot; | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="2 posts tagged with &quot;Security&quot; | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-hel [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 83ba505..05f2018 100644
--- a/blog/tags/technology/index.html
+++ b/blog/tags/technology/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">19 posts tagged with &quot;Technology&quot; | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="19 posts tagged with &quot;Technology&quot; | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-rea [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">20 posts tagged with &quot;Technology&quot; | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="20 posts tagged with &quot;Technology&quot; | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-rea [...]
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 f3786ea..2856741 100644
--- a/blog/tags/user-case/index.html
+++ b/blog/tags/user-case/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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" name="twitter:card" content="summary_large_image"><meta data-react [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/contribute/ContributeCard/index.html b/contribute/ContributeCard/index.html
index 6bdbd62..9c8757e 100644
--- a/contribute/ContributeCard/index.html
+++ b/contribute/ContributeCard/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true"></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.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/contribute/index.html b/contribute/index.html
index 93a7bc3..40b80cd 100644
--- a/contribute/index.html
+++ b/contribute/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><me [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 e896a8e..e33280b 100644
--- a/docs/apisix/2.10/FAQ/index.html
+++ b/docs/apisix/2.10/FAQ/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favicon.pn [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -34,7 +34,7 @@ See the <code>Hot reload</code> section in <a href="/docs/apisix/2.10/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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 a828a7e..9e74dce 100644
--- a/docs/apisix/2.10/IGNORE_DOC/index.html
+++ b/docs/apisix/2.10/IGNORE_DOC/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fav [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 3e6bd80..8b5692e 100644
--- a/docs/apisix/2.10/admin-api/index.html
+++ b/docs/apisix/2.10/admin-api/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favi [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -86,7 +86,7 @@ This feature requires APISIX to run on <a href="/docs/apisix/2.10/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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 5d46781..f8ec064 100644
--- a/docs/apisix/2.10/architecture-design/apisix/index.html
+++ b/docs/apisix/2.10/architecture-design/apisix/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favicon [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 and keep other configurations as default. The configuration in <code>config.yaml</code> should be like this:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuati [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">etcd</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">host</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 d963814..a4d26b3 100644
--- a/docs/apisix/2.10/architecture-design/consumer/index.html
+++ b/docs/apisix/2.10/architecture-design/consumer/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favic [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Use the <a href="/docs/apisix/2.10/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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 b9713e0..30fae45 100644
--- a/docs/apisix/2.10/architecture-design/debug-mode/index.html
+++ b/docs/apisix/2.10/architecture-design/debug-mode/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fav [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If the information can not be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker re [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </ [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 5c7de2f..e284402 100644
--- a/docs/apisix/2.10/architecture-design/global-rule/index.html
+++ b/docs/apisix/2.10/architecture-design/global-rule/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Global rule | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 fb21241..091acbb 100644
--- a/docs/apisix/2.10/architecture-design/index.html
+++ b/docs/apisix/2.10/architecture-design/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.or [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -42,7 +42,7 @@ will be merged into it. The same plugin in the plugin config will override one i
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If the information can be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker re [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </ [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 f69ab3b..159d0a6 100644
--- a/docs/apisix/2.10/architecture-design/plugin-config/index.html
+++ b/docs/apisix/2.10/architecture-design/plugin-config/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 bind it with a route directly.</p><p>For instance, you can do something like:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># create a plugin config</span><span class="token plain [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># bind it to route</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span><span class="token string" style="color: [...]
 will be merged into it. The same plugin in the plugin config will override one in the <code>plugins</code>.</p><p>For example, when we configure a plugin config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="col [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 be075c5..2723d4d 100644
--- a/docs/apisix/2.10/architecture-design/plugin/index.html
+++ b/docs/apisix/2.10/architecture-design/plugin/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favicon [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 then its execution will be skipped.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="hot-reload-in-stand-alone-mode"></a>Hot reload in stand-alone mode<a class="hash-link" href="#hot-reload-in-stand-alone-mode" title="Direct link to heading">#</a></h3><p>For stand-alone mode, see plugin related section in <a href="/docs/apisix/2.10/stand-alone">stand alone mode</a>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div c [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 7abafac..233df1c 100644
--- a/docs/apisix/2.10/architecture-design/route/index.html
+++ b/docs/apisix/2.10/architecture-design/route/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favicon. [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;value&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 3c0ccd8..7822347 100644
--- a/docs/apisix/2.10/architecture-design/router/index.html
+++ b/docs/apisix/2.10/architecture-design/router/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favicon [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 fd33cd6..9fc2758 100644
--- a/docs/apisix/2.10/architecture-design/script/index.html
+++ b/docs/apisix/2.10/architecture-design/script/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Script | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favicon [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 612897a..3100efe 100644
--- a/docs/apisix/2.10/architecture-design/service/index.html
+++ b/docs/apisix/2.10/architecture-design/service/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favico [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># create new Route and reference the service by id `200`</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/100 -H </span><s [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/101 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">&#x27;</span></span><span class="token-line" styl [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 6c6207f..3998796 100644
--- a/docs/apisix/2.10/architecture-design/upstream/index.html
+++ b/docs/apisix/2.10/architecture-design/upstream/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Upstream | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favic [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 efcc14e..74373ea 100644
--- a/docs/apisix/2.10/aws/index.html
+++ b/docs/apisix/2.10/aws/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://a [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -44,7 +44,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Non-authoritative answer:</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Name:   apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Address: </span><span class="token number" style="color:#36acaa">44.224</span><span class="token plain">.124.213</span></span><sp [...]
 <img src="https://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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 df6434a..1e386f8 100644
--- a/docs/apisix/2.10/batch-processor/index.html
+++ b/docs/apisix/2.10/batch-processor/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/im [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ argument and the batch configuration as the second parameter.</p><div class="cod
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">if batch_processor then</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    batch_processor:push({hello=&#x27;world&#x27;})</span></span><span class="token-line" style="color:#393A34"><span class="token plain">end</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Note: P [...]
 The timer to flush the batch runs based on the <code>inactive_timeout</code> configuration. Thus, for optimal usage,
 keep the <code>inactive_timeout</code> smaller than the <code>buffer_duration</code>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 c777d68..9303965 100644
--- a/docs/apisix/2.10/benchmark/index.html
+++ b/docs/apisix/2.10/benchmark/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favi [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class=
 <img src="https://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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 29d4978..59fbab0 100644
--- a/docs/apisix/2.10/certificate/index.html
+++ b/docs/apisix/2.10/certificate/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -37,7 +37,7 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
 first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
 private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
 pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 a314dee..5192f01 100644
--- a/docs/apisix/2.10/control-api/index.html
+++ b/docs/apisix/2.10/control-api/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ of fields like <code>consumer_schema</code> or <code>type</code>, it is depended
 definition.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="get-v1healthcheck"></a>GET /v1/healthcheck<a class="hash-link" href="#get-v1healthcheck" title="Direct link to heading">#</a></h3><p>Introduced since <code>v2.3</code>.</p><p>Return current <a href="/docs/apisix/2.10/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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 f40190f..78c1feb 100644
--- a/docs/apisix/2.10/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.10/customize-nginx-configuration/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">            location /ysec_status </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">                req_status_show;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">                allow 127.0.0.1;</span></span><span class="token-line" [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">        chunked_transfer_encoding on;</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">http_server_configuration_snippet</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">|</span><span class="token scalar string" style="color:#e3116c"></span></span><span class="token-line" style="color:#393A34"><span class="token scalar  [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 1dacc96..1e96172 100644
--- a/docs/apisix/2.10/debug-function/index.html
+++ b/docs/apisix/2.10/debug-function/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>It has a response header of <code>X-APISIX-Upstream-Status: 502</code>.</p><blockquote><p>Example 2: <code>502</code> response status code comes from <code>APISIX</code></p></blockquote><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 004a9ca..725775e 100644
--- a/docs/apisix/2.10/discovery/consul_kv/index.html
+++ b/docs/apisix/2.10/discovery/consul_kv/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favi [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 <img src="https://user-images.githubusercontent.com/548385/107141841-6ced3e00-6966-11eb-8aa4-bc790a4ad113.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="configuration-for-discovery-client"></a>Configuration for discovery client<a class="hash-link" href="#configuration-for-discovery-client" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_ [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    -X PUT </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></span><span c [...]
 To avoid confusion, use the full consul key url path as service name in practice.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="upstream-setting"></a>Upstream setting<a class="hash-link" href="#upstream-setting" title="Direct link to heading">#</a></h3><p>Here is an example of routing a request with a URL of &quot;/*&quot; to a service which named &quot;<a href="http://127.0.0.1:8500/v1/kv/upstreams/webpages/%22" target="_blank [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 5191ec4..4817cfc 100644
--- a/docs/apisix/2.10/discovery/dns/index.html
+++ b/docs/apisix/2.10/discovery/dns/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favicon.pn [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -33,7 +33,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 31e1fbe..9c657f2 100644
--- a/docs/apisix/2.10/discovery/eureka/index.html
+++ b/docs/apisix/2.10/discovery/eureka/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">eureka | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favicon [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 112fe5b..99a4109 100644
--- a/docs/apisix/2.10/discovery/index.html
+++ b/docs/apisix/2.10/discovery/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -33,7 +33,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;value&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -i -d </span><span class="token string" style="color:#e3116c">&#x27;</span></span><span class="token-line" s [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 028c9a8..8bae146 100644
--- a/docs/apisix/2.10/discovery/nacos/index.html
+++ b/docs/apisix/2.10/discovery/nacos/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">nacos | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favicon. [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 8b40c55..e6dab21 100644
--- a/docs/apisix/2.10/dns/index.html
+++ b/docs/apisix/2.10/dns/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favicon.pn [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p><p>TODO: support priority.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 50b45c7..476f70c 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
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://api [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -56,7 +56,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">--to base64</span></span><span class="token-line" style="color:#393A34"><span class="token plain">ngx.say(ngx.encode_base64(digest))</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="shell"></a>Shell<a class= [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to lowercase hexits</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </ [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to base64</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </span><span [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 0c0f7f7..ed420cb 100644
--- a/docs/apisix/2.10/external-plugin/index.html
+++ b/docs/apisix/2.10/external-plugin/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/im [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -40,7 +40,7 @@ declare your variable first in the <code>conf/config.yaml</code>:</p><div class=
 OpenResty 1.19+.</p><p>However, APISIX needs to wait the runner to quit so that we can ensure the resource
 for the process group is freed.</p><p>Therefore, we send SIGTERM first. And then after 1 second, if the runner is still
 running, we will send SIGKILL.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 9f873ca..1e623c6 100644
--- a/docs/apisix/2.10/getting-started/index.html
+++ b/docs/apisix/2.10/getting-started/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Getting Started | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/im [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 f04d995..df05a1c 100644
--- a/docs/apisix/2.10/grpc-proxy/index.html
+++ b/docs/apisix/2.10/grpc-proxy/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gRPC Proxy | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fav [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 gRPC client -&gt; APISIX -&gt; gRPC/gRPCS server</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="parameters"></a>Parameters<a class="hash-link" href="#parameters" title="Direct link to heading">#</a></h2><ul><li><code>scheme</code>: the <code>scheme</code> of the route&#x27;s upstream must be <code>grpc</code> or <code>grpcs</code>.</li><li><code>uri</code>: format likes /service/method, Example:/helloworld.Greeter/SayHello</li>< [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 5e37d84..7cea079 100644
--- a/docs/apisix/2.10/health-check/index.html
+++ b/docs/apisix/2.10/health-check/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/f [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 There won&#x27;t be any health check if an upstream is configured but isn&#x27;t in used.</li><li>If there is no healthy node can be chosen, we will continue to access the upstream.</li><li>We won&#x27;t start the health check when the upstream only has one node, as we will access
 it whether this unique node is healthy or not.</li><li>Active health check is required so that the unhealthy node can recover.</li></ul><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="configuration-instructions"></a>Configuration instructions<a class="hash-link" href="#configuration-instructions" title="Direct link to heading">#</a></h3><table><thead><tr><th>Configuration item</th><th>Configuration type</th><th>Value type</th><th>Va [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 3440d90..e74ad9b 100644
--- a/docs/apisix/2.10/how-to-build/index.html
+++ b/docs/apisix/2.10/how-to-build/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.ap [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token 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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 f03822e..f79f8a9 100644
--- a/docs/apisix/2.10/https/index.html
+++ b/docs/apisix/2.10/https/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favicon. [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -37,7 +37,7 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
 first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
 private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
 pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 37c477c..652384c 100644
--- a/docs/apisix/2.10/install-dependencies/index.html
+++ b/docs/apisix/2.10/install-dependencies/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.o [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -40,7 +40,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># install LuaRocks</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> https://raw.githubusercontent.com/apache/apisix/master/utils/linux-install-luarocks.sh -sL </spa [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:#393A34">&amp;</span></span></code></pre [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">brew services start etcd</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div></div><footer class="th [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 f56270a..facd4fc 100644
--- a/docs/apisix/2.10/internal/testing-framework/index.html
+++ b/docs/apisix/2.10/internal/testing-framework/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -38,7 +38,7 @@ This allows us to write methods inside <code>t/lib/server.lua</code> to emulate
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">==</span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> TEST </span><span class="token number" style="color:#36acaa">2</span><span class="token plain">: vars rule with </span><span class="token operator" style="color:#393A34">!</span><span class="token plain"> </span><span class="token punctuation" style="c [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 5246ca6..ecb3279 100644
--- a/docs/apisix/2.10/mtls/index.html
+++ b/docs/apisix/2.10/mtls/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">if</span><span class="token plain"> </span><span class="token builtin">len</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">sys</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">argv</span><span class="token punctuation" style="color:#393A34">)</span><span cl [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">reqParam </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token string" style="color:#e3116c">&quot;tls&quot;</span><span class="token punctuation" style=" [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">resp </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> requests</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">patch</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;http://127.0.0.1:9080/apisix/admin/upstreams/&quot;</span><span class="toke [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 f07f431..de74113 100644
--- a/docs/apisix/2.10/plugin-develop/index.html
+++ b/docs/apisix/2.10/plugin-develop/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -59,7 +59,7 @@ return items of HTTP include HTTP status, HTTP response header, HTTP response bo
 You may need to use <a href="/docs/apisix/2.10/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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 cccbb07..d7cd5f2 100644
--- a/docs/apisix/2.10/plugin-interceptors/index.html
+++ b/docs/apisix/2.10/plugin-interceptors/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.or [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ to run rules to protect them.</p><p>Here is an example to limit the access of <c
 to clients in <code>10.0.0.0/24</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/pl [...]
 the name of plugin which you want to run and the <code>conf</code> is the configuration of the
 plugin.</p><p>Currently we only support a subset of plugins which can be run as interceptors.</p><p>Supported interceptors:</p><ul><li><a href="/docs/apisix/2.10/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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 e4cce42..b5b0988 100644
--- a/docs/apisix/2.10/plugins/api-breaker/index.html
+++ b/docs/apisix/2.10/plugins/api-breaker/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">api-breaker | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">. </span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 a [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 31d15ca..7f673b1 100644
--- a/docs/apisix/2.10/plugins/authz-casbin/index.html
+++ b/docs/apisix/2.10/plugins/authz-casbin/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/f [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -38,7 +38,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">[policy_effect]</span></span><span class="token-line" style="color:#393A34"><span class="token plain">e = some(where (p.eft == allow))</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">[matchers]</span></span><span class="token-line" style="color:#393A34"><span class="token plain">m = (g(r.sub, p.sub) || keyMatch(r.sub, p.sub)) &amp;&amp; keyMatch(r.obj, p.obj) &amp;&amp; keyMatch(r.act, p.act)</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>And the example policy as:</p><div class="code [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 01cb9de..6263dcf 100644
--- a/docs/apisix/2.10/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.10/plugins/authz-keycloak/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -48,7 +48,7 @@ APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div cl
 API workflows. Run the following docker image and visit <code>http://localhost:8090</code> to view the associated policies for the unit tests.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">docker run -e </span><span class=" [...]
 However, Keycloak&#x27;s official adapters (Java, JS) also provides path matching by querying Keycloak paths dynamically, and
 lazy loading the paths to identity resources. Future version on authz-plugin will support this functionality.</p></li><li><p>Support to read scope and configurations from the Keycloak JSON File</p></li></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 8b95073..a73c0a4 100644
--- a/docs/apisix/2.10/plugins/basic-auth/index.html
+++ b/docs/apisix/2.10/plugins/basic-auth/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fav [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 b79c177..675ab70 100644
--- a/docs/apisix/2.10/plugins/batch-requests/index.html
+++ b/docs/apisix/2.10/plugins/batch-requests/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 d38655d..e8cd00e 100644
--- a/docs/apisix/2.10/plugins/client-control/index.html
+++ b/docs/apisix/2.10/plugins/client-control/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ handle the client request.</p><p><strong>This plugin requires APISIX to run on <
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">413</span><span class="token plain"> Request Entity Too Large</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span>< [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 17fb004..8125ac3 100644
--- a/docs/apisix/2.10/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.10/plugins/consumer-restriction/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.o [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/services/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">&#x27;</span></span><span class="token-line" styl [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 3fd06be..5cedde0 100644
--- a/docs/apisix/2.10/plugins/cors/index.html
+++ b/docs/apisix/2.10/plugins/cors/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">cors | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favicon.p [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 When using <code>**</code>, you must fully understand that it introduces some security risks, such as CSRF, so make sure that this security level meets your expectations before using it。</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Create a <code>Route</code> or <code>Service</code> object and con [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 fdc7a01..8ceca80 100644
--- a/docs/apisix/2.10/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/2.10/plugins/dubbo-proxy/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ They should provide the same result.</p><p>The returned data from upstream dubbo
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
 you need to comment out in the <code>config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctuation" style="color:#393A34">:</span><span class="toke [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 b0b612f..c5d88c4 100644
--- a/docs/apisix/2.10/plugins/echo/index.html
+++ b/docs/apisix/2.10/plugins/echo/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">echo | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favicon.p [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 c20d4c9..96b7c92 100644
--- a/docs/apisix/2.10/plugins/error-log-logger/index.html
+++ b/docs/apisix/2.10/plugins/error-log-logger/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/i [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 6644e26..0231c29 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
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ext-plugin-post-req | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.or [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 df37f30..5e28b0f 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
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ executing most of the builtin Lua plugins.</p><p>To know what is the plugin runn
 is executed at that side.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to disable this plugin, it is very simple,
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 ef39d3a..0b5f742 100644
--- a/docs/apisix/2.10/plugins/fault-injection/index.html
+++ b/docs/apisix/2.10/plugins/fault-injection/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/im [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -42,7 +42,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><ol start="2"><li>The request header <code>apikey</code> is successfully matched, and the request parameters are missing, and fault injection is performed:</li></ol><div class="codeBlockC [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><ol start="3"><li>Both request parameters and request headers fail to match, and fault injection is not performed:</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockConte [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON  [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 0b5d0c8..74bdf36 100644
--- a/docs/apisix/2.10/plugins/grpc-transcode/index.html
+++ b/docs/apisix/2.10/plugins/grpc-transcode/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;Hello world&quot;</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type="button" aria-label="Copy code to clipbo [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;workflowKey&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;#2251799813685260&quot;</span><span class="token plain">,</span><span class="token string" style="color:#e3116c">&quot;workflowInstanceKey&quot;</span><spa [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 945c1b0..4fb7420 100644
--- a/docs/apisix/2.10/plugins/gzip/index.html
+++ b/docs/apisix/2.10/plugins/gzip/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favicon.p [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Warning: Binary output can mess up your terminal. Use </span><span class="token string" style="color:#e3116c">&quot;--output -&quot;</span><span class="token plain"> to tell</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Warning: </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> to output it to your terminal anyway, or [...]
 you can delete the corresponding JSON configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 84127e2..e612c54 100644
--- a/docs/apisix/2.10/plugins/hmac-auth/index.html
+++ b/docs/apisix/2.10/plugins/hmac-auth/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favi [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -35,7 +35,7 @@
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
 Need to pay attention to the handling of newline characters in signature strings in various languages, which can easily lead to the problem of <code>{&quot;message&quot;:&quot;Invalid signature&quot;}</code>.</p><p>Example inputs:</p><table><thead><tr><th>Variable</th><th>Value</th></tr></thead><tbody><tr><td>secret</td><td>this is secret key</td></tr><tr><td>message</td><td>this is signature string</td></tr></tbody></table><p>Example outputs:</p><table><thead><tr><th>Type</th><th>Hash</ [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 9957626..b6d7cc2 100644
--- a/docs/apisix/2.10/plugins/http-logger/index.html
+++ b/docs/apisix/2.10/plugins/http-logger/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">http-logger | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 eb3e052..f207508 100644
--- a/docs/apisix/2.10/plugins/index.html
+++ b/docs/apisix/2.10/plugins/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugins | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favico [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 the its execution will be skipped.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="hot-reload-in-stand-alone-mode"></a>Hot reload in stand-alone mode<a class="hash-link" href="#hot-reload-in-stand-alone-mode" title="Direct link to heading">#</a></h3><p>For stand-alone mode, see plugin related section in <a href="/docs/apisix/2.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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 1ae0763..3200baa 100644
--- a/docs/apisix/2.10/plugins/ip-restriction/index.html
+++ b/docs/apisix/2.10/plugins/ip-restriction/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ you can send the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 1413c76..844d292 100644
--- a/docs/apisix/2.10/plugins/jwt-auth/index.html
+++ b/docs/apisix/2.10/plugins/jwt-auth/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favic [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -31,7 +31,7 @@ You may need to use <a href="/docs/apisix/2.10/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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 e62345e..d425901 100644
--- a/docs/apisix/2.10/plugins/kafka-logger/index.html
+++ b/docs/apisix/2.10/plugins/kafka-logger/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/f [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ or every <code>buffer_duration</code> flush the buffer.</p><p>In case of success
 In case of errors, returns <code>nil</code> with a string describing the error (<code>buffer overflow</code>).</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="sample-broker-list"></a>Sample broker list<a class="hash-link" href="#sample-broker-list" title="Direct link to heading">#</a></h3><p>This plugin supports to push in to more than one broker at a time. Specify the brokers of the external kafka servers as below
 sample to take effect of this functionality.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span cla [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 e2e24be..7c3bfce 100644
--- a/docs/apisix/2.10/plugins/key-auth/index.html
+++ b/docs/apisix/2.10/plugins/key-auth/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favic [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.2:9080/index.html -H </span><span class="token string" style="color:#e3116c">&#x27;apikey: abcabcabc&#x27;</span><span class="token plain"> -i</span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 24dbb48..efbb159 100644
--- a/docs/apisix/2.10/plugins/limit-conn/index.html
+++ b/docs/apisix/2.10/plugins/limit-conn/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fav [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> -i http://127.0.0.1:9080/index.html?sleep</span><span class="token operator" style="color:#393A34">=</span><span class="token number" style="color:#36acaa">20</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token opera [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 4ed5ac5..8667d34 100644
--- a/docs/apisix/2.10/plugins/limit-count/index.html
+++ b/docs/apisix/2.10/plugins/limit-count/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ which mean the total number of requests and the remaining number of requests tha
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;error_msg&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;Requests are too frequent, please try again later.&quot;</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 48b731c..c83a8fd 100644
--- a/docs/apisix/2.10/plugins/limit-req/index.html
+++ b/docs/apisix/2.10/plugins/limit-req/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favi [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;error_msg&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;Requests are too frequent, please try again later.&quot;</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 6f36684..d06553e 100644
--- a/docs/apisix/2.10/plugins/log-rotate/index.html
+++ b/docs/apisix/2.10/plugins/log-rotate/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fav [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ When the number of log files exceeds the remaining number, the old files are aut
 For example, the following example is a sample based on <code>interval: 10</code> and <code>max_kept: 10</code>.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ ll logs</span></span><span class="token-line" style="color:# [...]
 It does not need to be bound in any route or service.</p><p>Here is an example of <code>conf/config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punc [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">plugin_attr</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">log-rotate</span><span class="token punctuation" style="color:#393A34">:</span><span cla [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 2030497..025e672 100644
--- a/docs/apisix/2.10/plugins/mqtt-proxy/index.html
+++ b/docs/apisix/2.10/plugins/mqtt-proxy/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fav [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 balance by <code>client_id</code> of MQTT.</p><p>And this plugin both support MQTT protocol <a href="http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html" target="_blank" rel="noopener noreferrer">3.1.*</a> and <a href="https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html" target="_blank" rel="noopener noreferrer">5.0</a>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash- [...]
 For example, the following configuration represents listening on the 9100 TCP port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">...</span><span class="token [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 72f3b15..bdf1497 100644
--- a/docs/apisix/2.10/plugins/node-status/index.html
+++ b/docs/apisix/2.10/plugins/node-status/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ then you can add this plugin in any route.</li></ol><div class="codeBlockContain
 then you can not add this plugin in any route.</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">plugins:                          </span><span class="token comment" style="color:#999988;font-style:italic"># plugin list</ [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately.</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly sh"><pre tabindex="0" class="prism-code language-sh codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H &#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;  [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 76c43b3..4a4ebdf 100644
--- a/docs/apisix/2.10/plugins/openid-connect/index.html
+++ b/docs/apisix/2.10/plugins/openid-connect/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -49,7 +49,7 @@ Once the user has authenticated against the identity provider, the plugin will o
 and further information from the identity provider on behalf of the user. The information is currently stored
 in a session cookie that the user agent can submit on subsequent requests. The plugin will recognize the cookie
 and use the information therein to avoid having to go through the flow again.</p><p>The following command adds this mode of operation to a route.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</ [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 9e40380..c6f29c3 100644
--- a/docs/apisix/2.10/plugins/prometheus/index.html
+++ b/docs/apisix/2.10/plugins/prometheus/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fav [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ you may need to use <a href="/docs/apisix/2.10/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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 5905057..1bc6191 100644
--- a/docs/apisix/2.10/plugins/proxy-cache/index.html
+++ b/docs/apisix/2.10/plugins/proxy-cache/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><blockquote><p>http status is &#x27;200&#x27; and the response header contains &#x27;Apisix-Cache-Status&#x27; to indicate that the plug-in is enabled.</p></blockquote><ol start="3"><li>Verify that the data is cached and request the above address again:</l [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><blockquote><p>The response header <code>Apisix-Cache-Status</code> value has changed to HIT, indicating that the data has been cached</p></blockquote><p>Example 3: Specifying cache_zone as <code>invalid_disk_cache</code> is inconsistent with the cache are [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">head</span><span class="token [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 dcb92e5..811b6d6 100644
--- a/docs/apisix/2.10/plugins/proxy-mirror/index.html
+++ b/docs/apisix/2.10/plugins/proxy-mirror/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/f [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><blockquote><p>Since the specified mirror address is 127.0.0.1:9797, so to verify whether this plugin is in effect, we need to confirm on the service with port 9797.
 For example, we can start a simple server:  python -m SimpleHTTPServer 9797</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON in the plugin configuration to disable the plugin immediately without restarting the service:</p><div class="codeBlockContainer_K1bP"><div class [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 bd9ba7c..d07edb4 100644
--- a/docs/apisix/2.10/plugins/proxy-rewrite/index.html
+++ b/docs/apisix/2.10/plugins/proxy-rewrite/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately :</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  - [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 6f112ae..4ea4efdb 100644
--- a/docs/apisix/2.10/plugins/real-ip/index.html
+++ b/docs/apisix/2.10/plugins/real-ip/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favico [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 you can delete the corresponding JSON configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 3dcc67e..79fa2a8 100644
--- a/docs/apisix/2.10/plugins/redirect/index.html
+++ b/docs/apisix/2.10/plugins/redirect/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favic [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>We can check the response code and the response header <code>Location</code>.</p><p>It shows that the <code>redirect</code> plugin is in effect.</p><p> Here is a [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately :</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  - [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 bdcc691..6c30f9e 100644
--- a/docs/apisix/2.10/plugins/referer-restriction/index.html
+++ b/docs/apisix/2.10/plugins/referer-restriction/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.or [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ whitelisting/blacklisting request header Referrers.</p><h2><a aria-hidden="true"
 The message can be user-defined.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Creates a route or service object, and enable plugin <code>referer-restriction</code>.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 963c2c9..b89983d 100644
--- a/docs/apisix/2.10/plugins/request-id/index.html
+++ b/docs/apisix/2.10/plugins/request-id/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fav [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 API request. The plugin will not add a request id if the <code>header_name</code> is already present in the request.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>header_name</td><td [...]
 read the documentation first before deciding to use snowflake. Because once the configuration information is enabled, you can not arbitrarily adjust the configuration information. Failure to do so may result in duplicate ID being generated.</p></blockquote><p>The Snowflake algorithm is not enabled by default and needs to be configured in &#x27;conf/config.yaml&#x27;.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code langua [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 40a663e..d9dcf0e 100644
--- a/docs/apisix/2.10/plugins/request-validation/index.html
+++ b/docs/apisix/2.10/plugins/request-validation/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 json-schema to validate the schema. The plugin can be used to validate the headers and body data.</p><p>For more information on schema, refer to <a href="https://github.com/api7/jsonschema" target="_blank" rel="noopener noreferrer">JSON schema</a> for more information.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table>< [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 b379ad0..04fcba3 100644
--- a/docs/apisix/2.10/plugins/response-rewrite/index.html
+++ b/docs/apisix/2.10/plugins/response-rewrite/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/i [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;code&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;ok&quot;</span><span class="token plain">,</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name" [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 82e201f..f05274e 100644
--- a/docs/apisix/2.10/plugins/server-info/index.html
+++ b/docs/apisix/2.10/plugins/server-info/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">server-info | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 7869860..7bac3e3 100644
--- a/docs/apisix/2.10/plugins/serverless/index.html
+++ b/docs/apisix/2.10/plugins/serverless/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fav [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 which indicates that the specified function is in effect.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to disable the serverless plugin, it is very simple,
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 c306f1f..f8d902c 100644
--- a/docs/apisix/2.10/plugins/skywalking/index.html
+++ b/docs/apisix/2.10/plugins/skywalking/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fav [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -34,7 +34,7 @@ you need to comment out in the <code>config.yaml</code>:</p><div class="codeBloc
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.web.bind.annotation.PathVariable;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.web.bind.annotation.RequestMapping;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.web.bind.annotation.RestController;</span></span><span class="token-line" style="c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">/**</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> * @author cyxinda</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> * @create 2020-05-29 14:02</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> * @desc skywalking test controller</span></span><span class="token-line" style="color:#393A34"> [...]
 update the file of agent/config/agent.config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">agent.service_name</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">yourservername</span [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 c85e7a2..2d1adef 100644
--- a/docs/apisix/2.10/plugins/sls-logger/index.html
+++ b/docs/apisix/2.10/plugins/sls-logger/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fav [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 <a href="/docs/apisix/2.10/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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 62fb835..df5668f 100644
--- a/docs/apisix/2.10/plugins/syslog/index.html
+++ b/docs/apisix/2.10/plugins/syslog/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">syslog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favicon [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 5ff7edb..b7d92e1 100644
--- a/docs/apisix/2.10/plugins/tcp-logger/index.html
+++ b/docs/apisix/2.10/plugins/tcp-logger/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fav [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 631262f..72d2057 100644
--- a/docs/apisix/2.10/plugins/traffic-split/index.html
+++ b/docs/apisix/2.10/plugins/traffic-split/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -36,7 +36,7 @@ service_name, discovery_type, checks, retries, retry_timeout, desc, scheme, labe
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">world </span><span class="token number" style="color:#36acaa">1981</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-col [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>After 5 requests, the service of port <code>1981</code> was hit 3 times, and the service of port <code>1980</code> was hit 2 times.</p><blockquote><ol start="3"><li>The expression verification [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="matching-rules-correspond-to-upstream"></a>Matching rules correspond to upstream<a class="h [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 e338b47..827e236 100644
--- a/docs/apisix/2.10/plugins/ua-restriction/index.html
+++ b/docs/apisix/2.10/plugins/ua-restriction/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 f0b0565..39da4d3 100644
--- a/docs/apisix/2.10/plugins/udp-logger/index.html
+++ b/docs/apisix/2.10/plugins/udp-logger/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fav [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 b9b2662..fc1b018 100644
--- a/docs/apisix/2.10/plugins/uri-blocker/index.html
+++ b/docs/apisix/2.10/plugins/uri-blocker/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">. </span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If you set the property <code>rejected_msg</code> to <code>&quo [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;error_msg&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;access is not allowed&quot;</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type="button" aria-label="Copy co [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 78985fc..df4f6a6 100644
--- a/docs/apisix/2.10/plugins/wolf-rbac/index.html
+++ b/docs/apisix/2.10/plugins/wolf-rbac/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favi [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -44,7 +44,7 @@ The rbac feature is provided by <a href="https://github.com/iGeeky/wolf" target=
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">200</span><span class="token plain"> OK</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">:</span><span class="token stri [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 692ed68..e8bc28c 100644
--- a/docs/apisix/2.10/plugins/zipkin/index.html
+++ b/docs/apisix/2.10/plugins/zipkin/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favicon [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -30,7 +30,7 @@ no need to restart the service, it will take effect immediately:</p><div class="
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    tracer := GetTracer(...)</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    // use middleware to extract parentID from http header that injected by APISIX</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    r.Use(func(c *gin.Context) {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        span := this.Tracer.Extract(b3.ExtractHTTP(c.Request))</span></span><span class="token-line" style="color:#39 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">}</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/plugins/zipkin.md" target="_blank" rel="noreferrer noopener" cla [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 078cf04..4a7a151 100644
--- a/docs/apisix/2.10/powered-by/index.html
+++ b/docs/apisix/2.10/powered-by/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Powered by Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apac [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 or providing commercial products including APISIX.</p><p>Users are encouraged to add themselves to this page, <a href="https://github.com/apache/apisix/issues/487" target="_blank" rel="noopener noreferrer">issue</a> and PR are welcomed.</p><ol><li><a href="https://hy.10086.cn/" target="_blank" rel="nofollow">中移杭研</a></li><li><a href="http://www.163.com" target="_blank" rel="nofollow">Netease 网易</a></li><li><a href="https://www.360.cn/" target="_blank" rel="nofollow">360 奇虎</a></li><li><a [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 86e4429..43d307a 100644
--- a/docs/apisix/2.10/profile/index.html
+++ b/docs/apisix/2.10/profile/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.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.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ requirements, we need to change the parameters in the configuration file to the
 development environment. You have to change it back. It&#x27;s very easy to make mistakes.</p><p>The solution to the above problem is to distinguish the current running environment through environment variables, and switch
 between different configuration files through environment variables. The corresponding environment variable in APISIX is: <code>APISIX_PROFILE</code></p><p>When <code>APISIX_PROFILE</code> is not set, the following three configuration files are used by default:</p><ul><li>conf/config.yaml</li><li>conf/apisix.yaml</li><li>conf/debug.yaml</li></ul><p>If the value of <code>APISIX_PROFILE</code> is set to <code>prod</code>, the following three configuration files are used:</p><ul><li>conf/co [...]
 tools such as git can be configured, and version management can be better achieved.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 99b5fad..2c0c1b6 100644
--- a/docs/apisix/2.10/router-radixtree/index.html
+++ b/docs/apisix/2.10/router-radixtree/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/i [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 here is an simple example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </s [...]
 data from the request body. This limitation is configured via:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">graphql</span><span class="token punctuation" style="color:#393A34">:</span><span class [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If you need to pass a GraphQL body which is larger than the limitation, you can increase the value in <code>conf/config.yaml</code>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/router-radixt [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 38ea074..9b97744 100644
--- a/docs/apisix/2.10/stand-alone/index.html
+++ b/docs/apisix/2.10/stand-alone/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/i [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 the APISIX will check if this file has any changed every second.
 If the file changed and we found <code>#END</code> at the end of the file,
 APISIX will load the rules in this file and update to memory of APISIX.</p><p>Here is a mini example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">routes</span><span class="token punctuation" sty [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 a815ac6..cbe62aa 100644
--- a/docs/apisix/2.10/stream-proxy/index.html
+++ b/docs/apisix/2.10/stream-proxy/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/f [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 By default, no stream proxy is enabled.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></ [...]
 See <a href="/docs/apisix/2.10/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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 bd0d72b..83fc2af 100644
--- a/docs/apisix/2.10/tags/index.html
+++ b/docs/apisix/2.10/tags/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Tags | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Tags | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 7560d6d..0b86607 100644
--- a/docs/apisix/2.4/FAQ/index.html
+++ b/docs/apisix/2.4/FAQ/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favicon.pn [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ Run the <code>luarocks config rocks_servers</code> command(this command is suppo
 </span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">These open issues may also help:</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">Can&#x27;</span><span class="token plain">t </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"> openresty on macOS </span><span class="token number" style="color:#36acaa">10.15</span><span clas [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Error: A newer Command Line Tools release is available.</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Update them from Software Update </span><span class="token keyword" style="color:#00009f">in</span><span class="token plain"> System Preferences or</span></span><span class="token-line" style="color:#393A34"><span class="token plain">https://developer.apple.com/d [...]
 See the <code>Hot reload</code> section in <a href="/docs/apisix/2.4/plugins">plugins</a> for how to do that.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests"></a>How to make APISIX listen on multiple ports when handling HTTP or HTTPS requests?<a class="hash-link" href="#how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 c5dc049..bcaf15d 100644
--- a/docs/apisix/2.4/IGNORE_DOC/index.html
+++ b/docs/apisix/2.4/IGNORE_DOC/index.html
@@ -16,13 +16,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fav [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 6d1a56c..490d93a 100644
--- a/docs/apisix/2.4/admin-api/index.html
+++ b/docs/apisix/2.4/admin-api/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favi [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -80,7 +80,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">After the execution is successful, nodes will not retain the original data, and the entire update is:</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token strin [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><blockquote><p>Response Parameters</p></blockquote><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="ssl"></a>SSL<a class="hash-link" href="#ssl" title="Direct link to heading">#</a></h2><p><em>API</e [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;http://127.0.0.1:9080/apisix/admin/plugins/key-auth&quot;</span><span class="token plain"> -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"></span> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 4cd845e..d6bb64e 100644
--- a/docs/apisix/2.4/architecture-design/index.html
+++ b/docs/apisix/2.4/architecture-design/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.or [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -42,7 +42,7 @@ will be merged into it. The same plugin in the plugin config will override one i
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If the information can be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker re [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </ [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 b879ed8..ceb44ed 100644
--- a/docs/apisix/2.4/aws/index.html
+++ b/docs/apisix/2.4/aws/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://a [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -44,7 +44,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Non-authoritative answer:</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Name:   apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Address: </span><span class="token number" style="color:#36acaa">44.224</span><span class="token plain">.124.213</span></span><sp [...]
 <img src="https://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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 cd55356..70d6466 100644
--- a/docs/apisix/2.4/batch-processor/index.html
+++ b/docs/apisix/2.4/batch-processor/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/im [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ argument and the batch configuration as the second parameter.</p><div class="cod
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">if batch_processor then</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    batch_processor:push({hello=&#x27;world&#x27;})</span></span><span class="token-line" style="color:#393A34"><span class="token plain">end</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Note: P [...]
 The timer to flush the batch runs based on the <code>inactive_timeout</code> configuration. Thus, for optimal usage,
 keep the <code>inactive_timeout</code> smaller than the <code>buffer_duration</code>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 5e4d5cb..55b6d0d 100644
--- a/docs/apisix/2.4/benchmark/index.html
+++ b/docs/apisix/2.4/benchmark/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favi [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class=
 <img src="https://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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 f0985ca..7a0255e 100644
--- a/docs/apisix/2.4/control-api/index.html
+++ b/docs/apisix/2.4/control-api/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ If a plugin adds such a control API, please refer to each plugin&#x27;s document
 of fields like <code>consumer_schema</code> or <code>type</code>, it is dependended by the plugin&#x27;s
 definition.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="get-v1healthcheck"></a>GET /v1/healthcheck<a class="hash-link" href="#get-v1healthcheck" title="Direct link to heading">#</a></h3><p>Introduced since <code>v2.3</code>.</p><p>Return current <a href="/docs/apisix/2.4/health-check">health check</a> status in the format below:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex="0"  [...]
 object with id 1 creates a health checker, the <code>src_type</code> is <code>upstreams</code> and the <code>src_id</code> is <code>1</code>.</li><li>name: the name of the health checker.</li><li>nodes: the target nodes of the health checker.</li><li>healthy_nodes: the healthy node known by the health checker.</li></ul><p>User can also use <code>/v1/healthcheck/$src_type/$src_id</code> can get the status of a health checker.</p><p>For example, <code>GET /v1/healthcheck/upstreams/1</code> [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 a82a3f8..6b6ccc9 100644
--- a/docs/apisix/2.4/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.4/customize-nginx-configuration/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">            location /ysec_status </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">                req_status_show;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">                allow 127.0.0.1;</span></span><span class="token-line" [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">        chunked_transfer_encoding on;</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">http_server_configuration_snippet</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">|</span><span class="token scalar string" style="color:#e3116c"></span></span><span class="token-line" style="color:#393A34"><span class="token scalar  [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 fa8ddb8..eb8783f 100644
--- a/docs/apisix/2.4/debug-function/index.html
+++ b/docs/apisix/2.4/debug-function/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>It has a response header of <code>X-APISIX-Upstream-Status: 502</code>.</p><blockquote><p>Example 2: <code>502</code> response status code comes from <code>APISIX</code></p></blockquote><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 667087c..f21c92e 100644
--- a/docs/apisix/2.4/discovery/consul_kv/index.html
+++ b/docs/apisix/2.4/discovery/consul_kv/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favi [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 <img src="https://user-images.githubusercontent.com/548385/107141841-6ced3e00-6966-11eb-8aa4-bc790a4ad113.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="configuration-for-discovery-client"></a>Configuration for discovery client<a class="hash-link" href="#configuration-for-discovery-client" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_ [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    -X PUT </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></span><span c [...]
 To avoid confusion, use the full consul key url path as service name in practice.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="upstream-setting"></a>Upstream setting<a class="hash-link" href="#upstream-setting" title="Direct link to heading">#</a></h3><p>Here is an example of routing a request with a URL of &quot;/*&quot; to a service which named &quot;<a href="http://127.0.0.1:8500/v1/kv/upstreams/webpages/%22" target="_blank [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 48c7eee..2099ffb 100644
--- a/docs/apisix/2.4/discovery/index.html
+++ b/docs/apisix/2.4/discovery/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 5957966..ab35b63 100644
--- a/docs/apisix/2.4/dns/index.html
+++ b/docs/apisix/2.4/dns/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favicon.pn [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p><p>TODO: support priority.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 889479d..8fded07 100644
--- a/docs/apisix/2.4/examples/plugins-hmac-auth-generate-signature/index.html
+++ b/docs/apisix/2.4/examples/plugins-hmac-auth-generate-signature/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://api [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -56,7 +56,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">--to base64</span></span><span class="token-line" style="color:#393A34"><span class="token plain">ngx.say(ngx.encode_base64(digest))</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="shell"></a>Shell<a class= [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to lowercase hexits</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </ [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to base64</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </span><span [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 d4883f9..b6bfe1a 100644
--- a/docs/apisix/2.4/getting-started/index.html
+++ b/docs/apisix/2.4/getting-started/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/im [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -41,7 +41,7 @@ a web application to perform the similar. The dashboard is available in the foll
 <a href="https://github.com/apache/apisix" target="_blank" rel="noopener noreferrer">repository</a>. The dashboard is intuitive and you can orchestrate the
 same route configurations via the dashboard as well.</p><p><img src="https://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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 aa42563..08648c2 100644
--- a/docs/apisix/2.4/grpc-proxy/index.html
+++ b/docs/apisix/2.4/grpc-proxy/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gRPC Proxy | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fav [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 gRPC client -&gt; APISIX -&gt; gRPC/gRPCS server</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="parameters"></a>Parameters<a class="hash-link" href="#parameters" title="Direct link to heading">#</a></h2><ul><li><code>scheme</code>: the <code>scheme</code> of the route&#x27;s upstream must be <code>grpc</code> or <code>grpcs</code>.</li><li><code>uri</code>: format likes /service/method, Example:/helloworld.Greeter/SayHello</li>< [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 f53c291..6ecbb5e 100644
--- a/docs/apisix/2.4/health-check/index.html
+++ b/docs/apisix/2.4/health-check/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/f [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 you can use it for upstream.</p><p>Note that we only start the health check when the upstream is hit by a request.
 There won&#x27;t be any health check if an upstream is configured but isn&#x27;t in used.</p><p>The following is an example of health check:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</spa [...]
 contains: <code>active</code> or <code>passive</code>.</p><ul><li><p><code>active</code>: To enable active health checks, you need to specify the configuration items under <code>checks.active</code> in the Upstream object configuration.</p><ul><li><p><code>active.timeout</code>: Socket timeout for active checks (in seconds), support decimals. For example <code>1.01</code> means <code>1010</code> milliseconds, <code>2</code> means <code>2000</code> milliseconds.</p></li><li><p><code>activ [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 69744ac..1bd93f7 100644
--- a/docs/apisix/2.4/how-to-build/index.html
+++ b/docs/apisix/2.4/how-to-build/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.ap [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ see how to do it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor ancho
 make sure to set openresty as default nginx. And export the path as below.</li></ul><ul><li>export PATH=/usr/local/openresty/nginx/sbin:$PATH<ul><li>Linux default installation path:<ul><li>export PATH=/usr/local/openresty/nginx/sbin:$PATH</li></ul></li><li>OSx default installation path via homebrew:<ul><li>export PATH=/usr/local/opt/openresty/nginx/sbin:$PATH</li></ul></li></ul></li></ul><p><strong>Run Individual Test Cases</strong></p><ul><li>Use the following command to run test cases  [...]
 Here is an example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="to [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes?api_key</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">abcdefghabcdefgh-invalid -i</span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="co [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 c078eeb..f0e9374 100644
--- a/docs/apisix/2.4/https/index.html
+++ b/docs/apisix/2.4/https/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favicon. [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -37,7 +37,7 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
 first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
 private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
 pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 ac13d0c..821178c 100644
--- a/docs/apisix/2.4/install-dependencies/index.html
+++ b/docs/apisix/2.4/install-dependencies/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.o [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -41,7 +41,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:#393A34">&amp;</span></span></code></pre [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">etcd </span><span class="token operator" style="color:#393A34">&amp;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain" sty [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># enable TLS for etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">etcd --cert-file</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">/path/to/cert --key-file</span><span class="token operator" style="color:# [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 17a6c9c..d3066ad 100644
--- a/docs/apisix/2.4/mtls/index.html
+++ b/docs/apisix/2.4/mtls/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS authentication | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">mtls</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">enable</span><span class="token punctuation" style="color:#393A34">:</span><span class="token [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 afe2371..bba58f1 100644
--- a/docs/apisix/2.4/plugin-develop/index.html
+++ b/docs/apisix/2.4/plugin-develop/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -55,7 +55,7 @@ return items of HTTP include HTTP status, HTTP response header, HTTP response bo
 You may need to use <a href="/docs/apisix/2.4/plugin-interceptors">interceptors</a> to protect it.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="register-control-api"></a>Register control API<a class="hash-link" href="#register-control-api" title="Direct link to heading">#</a></h3><p>If you only want to expose the API to the localhost or intranet, you can expose it via <a href="/docs/apisix/2.4/control-api">Control API</a>.</p> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">function _M.control_api()</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    return {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">            methods = {&quot;GET&quot;},</span></span><span class="token-line" style="color:#393A3 [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 0af10db..2d151a7 100644
--- a/docs/apisix/2.4/plugin-interceptors/index.html
+++ b/docs/apisix/2.4/plugin-interceptors/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.or [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ to run rules to protect them.</p><p>Here is an example to limit the access of <c
 to clients in <code>10.0.0.0/24</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/pl [...]
 the name of plugin which you want to run and the <code>conf</code> is the configuration of the
 plugin.</p><p>Currently we only support a subset of plugins which can be run as interceptors.</p><p>Supported interceptors:</p><ul><li><a href="/docs/apisix/2.4/plugins/ip-restriction">ip-restriction</a></li></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.4/docs/en/latest/plugin-interceptors.md" target="_blank" rel="noreferrer noopener" class="theme-edit- [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 2e9089b..01acce1 100644
--- a/docs/apisix/2.4/plugins/api-breaker/index.html
+++ b/docs/apisix/2.4/plugins/api-breaker/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">api-breaker | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">. </span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 a [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 44c4440..85ea5d3 100644
--- a/docs/apisix/2.4/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.4/plugins/authz-keycloak/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -48,7 +48,7 @@ APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div cl
 API workflows. Run the following docker image and visit <code>http://localhost:8090</code> to view the associated policies for the unit tests.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">docker run -e </span><span class=" [...]
 However, Keycloak&#x27;s official adapters (Java, JS) also provides path matching by querying Keycloak paths dynamically, and
 lazy loading the paths to identity resources. Future version on authz-plugin will support this functionality.</p></li><li><p>Support to read scope and configurations from the Keycloak JSON File</p></li></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/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.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 2ce9062..54b4ffd 100644
--- a/docs/apisix/2.4/plugins/basic-auth/index.html
+++ b/docs/apisix/2.4/plugins/basic-auth/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fav [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 fc52a1d..05116d2 100644
--- a/docs/apisix/2.4/plugins/batch-requests/index.html
+++ b/docs/apisix/2.4/plugins/batch-requests/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 You may need to use <a href="/docs/apisix/2.4/plugin-interceptors">interceptors</a> to protect it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Default enabled</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-configure"></a>How To Configure<a cla [...]
 You can configure it via <code>apisix/admin/plugin_metadata/batch-requests</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/ [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 9c64898..bc41eb7 100644
--- a/docs/apisix/2.4/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.4/plugins/consumer-restriction/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.o [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/services/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">&#x27;</span></span><span class="token-line" styl [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 59394cc..2ecb765 100644
--- a/docs/apisix/2.4/plugins/cors/index.html
+++ b/docs/apisix/2.4/plugins/cors/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">cors | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favicon.p [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 When using <code>**</code>, you must fully understand that it introduces some security risks, such as CSRF, so make sure that this security level meets your expectations before using it。</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Create a <code>Route</code> or <code>Service</code> object and con [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 02316ae..0d8d0fb 100644
--- a/docs/apisix/2.4/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/2.4/plugins/dubbo-proxy/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ They should provide the same result.</p><h2><a aria-hidden="true" tabindex="-1"
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
 you need to comment out in the <code>config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctuation" style="color:#393A34">:</span><span class="toke [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 02e317f..533ae08 100644
--- a/docs/apisix/2.4/plugins/echo/index.html
+++ b/docs/apisix/2.4/plugins/echo/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">echo | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favicon.p [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 b4e76bf..2e423bc 100644
--- a/docs/apisix/2.4/plugins/error-log-logger/index.html
+++ b/docs/apisix/2.4/plugins/error-log-logger/index.html
@@ -16,15 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/i [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <a href="/docs/apisix/2.4/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address [...]
 It does not need to be bound in any route or service.</p><p>Here is an example of <code>conf/config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punc [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 c613701..89979df 100644
--- a/docs/apisix/2.4/plugins/fault-injection/index.html
+++ b/docs/apisix/2.4/plugins/fault-injection/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/im [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -42,7 +42,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><ol start="2"><li>The request header <code>apikey</code> is successfully matched, and the request parameters are missing, and fault injection is performed:</li></ol><div class="codeBlockC [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><ol start="3"><li>Both request parameters and request headers fail to match, and fault injection is not performed:</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockConte [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON  [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 bcabb0e..c2699e9 100644
--- a/docs/apisix/2.4/plugins/grpc-transcode/index.html
+++ b/docs/apisix/2.4/plugins/grpc-transcode/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;Hello world&quot;</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type="button" aria-label="Copy code to clipbo [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;workflowKey&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;#2251799813685260&quot;</span><span class="token plain">,</span><span class="token string" style="color:#e3116c">&quot;workflowInstanceKey&quot;</span><spa [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 5239fbe..cdf3ccd 100644
--- a/docs/apisix/2.4/plugins/hmac-auth/index.html
+++ b/docs/apisix/2.4/plugins/hmac-auth/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favi [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
 Need to pay attention to the handling of newline characters in signature strings in various languages, which can easily lead to the problem of <code>{&quot;message&quot;:&quot;Invalid signature&quot;}</code>.</p><p>Example inputs:</p><table><thead><tr><th>Variable</th><th>Value</th></tr></thead><tbody><tr><td>secret</td><td>this is secret key</td></tr><tr><td>message</td><td>this is signature string</td></tr></tbody></table><p>Example outputs:</p><table><thead><tr><th>Type</th><th>Hash</ [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 8d4a8bf..0fb0041 100644
--- a/docs/apisix/2.4/plugins/http-logger/index.html
+++ b/docs/apisix/2.4/plugins/http-logger/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">http-logger | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 738ae0c..4bb0555 100644
--- a/docs/apisix/2.4/plugins/index.html
+++ b/docs/apisix/2.4/plugins/index.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugins | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favico [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 the its execution will be skipped.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="hot-reload-in-stand-alone-mode"></a>Hot reload in stand-alone mode<a class="hash-link" href="#hot-reload-in-stand-alone-mode" title="Direct link to heading">#</a></h3><p>For stand-alone mode, see plugin related section in <a href="/docs/apisix/2.4/stand-alone">stand alone mode</a>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div cla [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 1bc147e..b870fdc 100644
--- a/docs/apisix/2.4/plugins/ip-restriction/index.html
+++ b/docs/apisix/2.4/plugins/ip-restriction/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ you can send the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.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 ae87ee4..2dcae8b 100644
--- a/docs/apisix/2.4/plugins/jwt-auth/index.html
+++ b/docs/apisix/2.4/plugins/jwt-auth/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favic [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -30,7 +30,7 @@ You may need to use <a href="/docs/apisix/2.4/plugin-interceptors">interceptors<
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token operator" style="color:#393A34">!</span><span class="token plain">DOCTYPE html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34" [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/kafka-logger/index.html b/docs/apisix/2.4/plugins/kafka-logger/index.html
index 10ef716..63fd765 100644
--- a/docs/apisix/2.4/plugins/kafka-logger/index.html
+++ b/docs/apisix/2.4/plugins/kafka-logger/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/f [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ or every <code>buffer_duration</code> flush the buffer.</p><p>In case of success
 In case of errors, returns <code>nil</code> with a string describing the error (<code>buffer overflow</code>).</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="sample-broker-list"></a>Sample broker list<a class="hash-link" href="#sample-broker-list" title="Direct link to heading">#</a></h3><p>This plugin supports to push in to more than one broker at a time. Specify the brokers of the external kafka servers as below
 sample to take effect of this functionality.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span cla [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/key-auth/index.html b/docs/apisix/2.4/plugins/key-auth/index.html
index c11f68c..75b37c9 100644
--- a/docs/apisix/2.4/plugins/key-auth/index.html
+++ b/docs/apisix/2.4/plugins/key-auth/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/favic [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.2:9080/index.html -H </span><span class="token string" style="color:#e3116c">&#x27;apikey: abcabcabc&#x27;</span><span class="token plain"> -i</span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/limit-conn/index.html b/docs/apisix/2.4/plugins/limit-conn/index.html
index c51ab0d..ebd26ae 100644
--- a/docs/apisix/2.4/plugins/limit-conn/index.html
+++ b/docs/apisix/2.4/plugins/limit-conn/index.html
@@ -16,8 +16,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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/fav [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.de17f345.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.19b50889.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.cce36a08.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.e9f04561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> -i http://127.0.0.1:9080/index.html?sleep</span><span class="token operator" style="color:#393A34">=</span><span class="token number" style="color:#36acaa">20</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token opera [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.de17f345.js"></script>
-<script src="/assets/js/main.19b50889.js"></script>
+<script src="/assets/js/runtime~main.cce36a08.js"></script>
+<script src="/assets/js/main.e9f04561.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/limit-count/index.html b/docs/apisix/2.4/plugins/limit-count/index.html
index 2eb9e76..0dc270e 100644
--- a/docs/apisix/2.4/plugins/limit-count/index.html
+++ b/docs/apisix/2.4/plugins/limit-count/index.html
... 56109 lines suppressed ...