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/18 15:55:33 UTC

[apisix-website] branch asf-site updated: deploy: 3f9cc8e40c4e379c48698ed4970030b036877cae

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 4e12345  deploy: 3f9cc8e40c4e379c48698ed4970030b036877cae
4e12345 is described below

commit 4e123450e6103f27967161b063ed813a23bf3f69
Author: juzhiyuan <ju...@users.noreply.github.com>
AuthorDate: Thu Nov 18 15:55:02 2021 +0000

    deploy: 3f9cc8e40c4e379c48698ed4970030b036877cae
---
 404.html                                           |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../Apache-APISIX-Incubator-Journey/index.html     |  26 +--
 .../Apache-APISIX-Kubernetes-Ingress/index.html    |  26 +--
 .../Apache-APISIX-in-China-Mobile-Cloud/index.html |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../Speed-Limiting-With-Apache-APISIX/index.html   |  26 +--
 .../index.html                                     |  26 +--
 articles/The-Appeal-of-OpenSource/index.html       |  26 +--
 articles/The-Evolution-of-Apache-APISIX/index.html |  26 +--
 .../index.html                                     |  26 +--
 articles/archive/index.html                        |  26 +--
 articles/atom.xml                                  |  10 +-
 articles/index.html                                |  26 +--
 articles/page/2/index.html                         |  26 +--
 articles/rss.xml                                   |  10 +-
 .../{09b17eb5.08169f99.js => 09b17eb5.724f4bea.js} |   2 +-
 .../{19945770.8070e412.js => 19945770.708d1ffd.js} |   2 +-
 .../{3393d167.583dedcd.js => 3393d167.4e420842.js} |   2 +-
 .../{358566b4.7b4e6a89.js => 358566b4.ab0e664f.js} |   2 +-
 .../{3dc9f306.5b1d5309.js => 3dc9f306.25894aad.js} |   2 +-
 .../{40fb2fae.f82cdef5.js => 40fb2fae.5354c026.js} |   2 +-
 .../{4c20006b.787f7876.js => 4c20006b.1b507e9d.js} |   2 +-
 .../{4f9f5708.9ea12d60.js => 4f9f5708.8eac6b21.js} |   2 +-
 .../{507e1a4c.d795e447.js => 507e1a4c.7fcd2390.js} |   2 +-
 .../{50facf8e.0e8b0866.js => 50facf8e.d5d517fd.js} |   2 +-
 .../{542fd41f.6eae8b99.js => 542fd41f.bb96be59.js} |   2 +-
 .../{601c6eaa.6b685326.js => 601c6eaa.57262626.js} |   2 +-
 .../{66fbb9c2.cfbf0eff.js => 66fbb9c2.9da914bf.js} |   2 +-
 .../{7af3052c.e13b98d3.js => 7af3052c.56df422f.js} |   2 +-
 .../{80791de8.a29c2ab1.js => 80791de8.42e43dbc.js} |   2 +-
 .../{8e784bf3.f144cd3a.js => 8e784bf3.cf4354cf.js} |   2 +-
 .../{8f700fa6.db73166a.js => 8f700fa6.d568a3f8.js} |   2 +-
 .../{90fc8a94.42b75aed.js => 90fc8a94.e37b4392.js} |   2 +-
 .../{941960b1.42ed3ad0.js => 941960b1.c22b163d.js} |   2 +-
 .../{adbb350b.388ce8d5.js => adbb350b.bd0dcb5f.js} |   2 +-
 .../{d18db9b0.a08d9f13.js => d18db9b0.183230ce.js} |   2 +-
 assets/js/main.585c9561.js                         |   2 +
 .../js/main.585c9561.js.LICENSE.txt                |   0
 assets/js/main.9e5fae57.js                         |   2 -
 ...e~main.4227a59b.js => runtime~main.d448f207.js} |   2 +-
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../21/run-ingress-apisix-on-amazon-eks/index.html |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 blog/2021/05/24/Tencent-Games/index.html           |  26 +--
 .../05/25/Apache APISIX 2.6.0-Release/index.html   |  26 +--
 .../index.html                                     |  26 +--
 blog/2021/06/06/apisix-two-years/index.html        |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../06/28/why-we-need-Apache-APISIX/index.html     |  26 +--
 .../06/29/release-apache-apisix-2.7/index.html     |  26 +--
 .../etcd3-support-HTTP-access-perfectly/index.html |  26 +--
 .../07/06/celebrate-200-contributors/index.html    |  26 +--
 .../index.html                                     |  26 +--
 .../2021/07/21/Apache-APISIX-Kubernetes/index.html |  26 +--
 blog/2021/07/25/apachecon-asia/index.html          |  26 +--
 .../index.html                                     |  26 +--
 .../07/28/release-apache-apisix-2.8/index.html     |  26 +--
 blog/2021/08/05/Kong-to-APISIX/index.html          |  26 +--
 .../index.html                                     |  26 +--
 .../Apache-APISIX-in-China-Mobile-Cloud/index.html |  26 +--
 .../08/09/Apache-APISIX-in-Quliankeji/index.html   |  26 +--
 blog/2021/08/10/apisix-nginx/index.html            |  26 +--
 blog/2021/08/11/interview-TuZhengsong/index.html   |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 blog/2021/08/17/interview-airwallex/index.html     |  26 +--
 .../Auth-with-Casbin-in-Apache-APISIX/index.html   |  26 +--
 .../08/19/go-makes-Apache-APISIX-better/index.html |  26 +--
 blog/2021/08/19/weekly-report/index.html           |  26 +--
 blog/2021/08/21/shanghai-meetup/index.html         |  26 +--
 blog/2021/08/23/ApacheCon-Asia-2021/index.html     |  26 +--
 blog/2021/08/23/weekly-report/index.html           |  26 +--
 blog/2021/08/24/shanghai-meetup-recap/index.html   |  26 +--
 .../Auth-with-Casbin-in-Apache-APISIX/index.html   |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../08/27/release-apache-apisix-2.9/index.html     |  26 +--
 blog/2021/08/30/Ingress-Meeting/index.html         |  26 +--
 blog/2021/08/30/weekly-report/index.html           |  26 +--
 .../index.html"                                    |  26 +--
 .../index.html                                     |  26 +--
 blog/2021/09/07/how-to-use-apisix-auth/index.html  |  26 +--
 blog/2021/09/07/iQIYI-usercase/index.html          |  26 +--
 .../index.html                                     |  26 +--
 .../09/13/china-mobile-cloud-usercase/index.html   |  26 +--
 blog/2021/09/14/youzan/index.html                  |  26 +--
 blog/2021/09/15/weekly-report/index.html           |  26 +--
 blog/2021/09/16/tencent-cloud/index.html           |  26 +--
 blog/2021/09/18/xiaodian-usercase/index.html       |  26 +--
 blog/2021/09/24/youpaicloud-usercase/index.html    |  26 +--
 blog/2021/09/28/WPS-usercase/index.html            |  26 +--
 .../09/29/release-apache-apisix-2.10/index.html    |  26 +--
 blog/2021/09/30/weekly-report/index.html           |  26 +--
 blog/2021/10/01/openEuler/index.html               |  26 +--
 blog/2021/10/09/apisix-ingress-techblog/index.html |  26 +--
 .../index.html                                     |  26 +--
 blog/2021/10/14/weekly-report-1014/index.html      |  26 +--
 blog/2021/10/18/meetup/index.html                  |  26 +--
 blog/2021/10/22/cert-manager-in-ingress/index.html |  26 +--
 blog/2021/10/26/APISIX-Ingress/index.html          |  26 +--
 blog/2021/10/29/Extension-guide/index.html         |  26 +--
 blog/2021/11/02/weekly-report-1031/index.html      |  26 +--
 blog/2021/11/03/airwallex-usercase/index.html      |  26 +--
 blog/2021/11/04/skywalking/index.html              |  26 +--
 blog/2021/11/12/apisix-datadog/index.html          |  26 +--
 blog/2021/11/16/weekly-report-1114/index.html      |  26 +--
 blog/2021/11/17/dapr-with-apisix/index.html        |  26 +--
 blog/archive/index.html                            |  26 +--
 blog/atom.xml                                      |   4 +-
 blog/index.html                                    |  26 +--
 blog/page/2/index.html                             |  26 +--
 blog/page/3/index.html                             |  26 +--
 blog/page/4/index.html                             |  26 +--
 blog/page/5/index.html                             |  26 +--
 blog/page/6/index.html                             |  26 +--
 blog/page/7/index.html                             |  26 +--
 blog/page/8/index.html                             |  26 +--
 blog/rss.xml                                       |   4 +-
 blog/tags/community/index.html                     |  26 +--
 blog/tags/events/index.html                        |  26 +--
 blog/tags/index.html                               |  26 +--
 blog/tags/interview/index.html                     |  26 +--
 blog/tags/practical-case/index.html                |  26 +--
 blog/tags/release/index.html                       |  26 +--
 blog/tags/security/index.html                      |  26 +--
 blog/tags/technology/index.html                    |  26 +--
 blog/tags/user-case/index.html                     |  26 +--
 data/events.json                                   |  18 +-
 data/plugin.json                                   | 204 -----------------
 data/plugins.json                                  | 204 +++++++++++++++++
 data/team.json                                     | 246 ---------------------
 docs/apisix/2.4/FAQ/index.html                     |  26 +--
 docs/apisix/2.4/IGNORE_DOC/index.html              |  26 +--
 docs/apisix/2.4/admin-api/index.html               |  26 +--
 docs/apisix/2.4/architecture-design/index.html     |  26 +--
 docs/apisix/2.4/aws/index.html                     |  26 +--
 docs/apisix/2.4/batch-processor/index.html         |  26 +--
 docs/apisix/2.4/benchmark/index.html               |  26 +--
 docs/apisix/2.4/control-api/index.html             |  26 +--
 .../2.4/customize-nginx-configuration/index.html   |  26 +--
 docs/apisix/2.4/debug-function/index.html          |  26 +--
 docs/apisix/2.4/discovery/consul_kv/index.html     |  26 +--
 docs/apisix/2.4/discovery/index.html               |  26 +--
 docs/apisix/2.4/dns/index.html                     |  26 +--
 .../index.html                                     |  26 +--
 docs/apisix/2.4/getting-started/index.html         |  26 +--
 docs/apisix/2.4/grpc-proxy/index.html              |  26 +--
 docs/apisix/2.4/health-check/index.html            |  26 +--
 docs/apisix/2.4/how-to-build/index.html            |  26 +--
 docs/apisix/2.4/https/index.html                   |  26 +--
 docs/apisix/2.4/install-dependencies/index.html    |  26 +--
 docs/apisix/2.4/mtls/index.html                    |  26 +--
 docs/apisix/2.4/plugin-develop/index.html          |  26 +--
 docs/apisix/2.4/plugin-interceptors/index.html     |  26 +--
 docs/apisix/2.4/plugins/api-breaker/index.html     |  26 +--
 docs/apisix/2.4/plugins/authz-keycloak/index.html  |  26 +--
 docs/apisix/2.4/plugins/basic-auth/index.html      |  26 +--
 docs/apisix/2.4/plugins/batch-requests/index.html  |  26 +--
 .../2.4/plugins/consumer-restriction/index.html    |  26 +--
 docs/apisix/2.4/plugins/cors/index.html            |  26 +--
 docs/apisix/2.4/plugins/dubbo-proxy/index.html     |  26 +--
 docs/apisix/2.4/plugins/echo/index.html            |  26 +--
 .../apisix/2.4/plugins/error-log-logger/index.html |  26 +--
 docs/apisix/2.4/plugins/fault-injection/index.html |  26 +--
 docs/apisix/2.4/plugins/grpc-transcode/index.html  |  26 +--
 docs/apisix/2.4/plugins/hmac-auth/index.html       |  26 +--
 docs/apisix/2.4/plugins/http-logger/index.html     |  26 +--
 docs/apisix/2.4/plugins/index.html                 |  26 +--
 docs/apisix/2.4/plugins/ip-restriction/index.html  |  26 +--
 docs/apisix/2.4/plugins/jwt-auth/index.html        |  26 +--
 docs/apisix/2.4/plugins/kafka-logger/index.html    |  26 +--
 docs/apisix/2.4/plugins/key-auth/index.html        |  26 +--
 docs/apisix/2.4/plugins/limit-conn/index.html      |  26 +--
 docs/apisix/2.4/plugins/limit-count/index.html     |  26 +--
 docs/apisix/2.4/plugins/limit-req/index.html       |  26 +--
 docs/apisix/2.4/plugins/log-rotate/index.html      |  26 +--
 docs/apisix/2.4/plugins/mqtt-proxy/index.html      |  26 +--
 docs/apisix/2.4/plugins/node-status/index.html     |  26 +--
 docs/apisix/2.4/plugins/openid-connect/index.html  |  26 +--
 docs/apisix/2.4/plugins/prometheus/index.html      |  26 +--
 docs/apisix/2.4/plugins/proxy-cache/index.html     |  26 +--
 docs/apisix/2.4/plugins/proxy-mirror/index.html    |  26 +--
 docs/apisix/2.4/plugins/proxy-rewrite/index.html   |  26 +--
 docs/apisix/2.4/plugins/redirect/index.html        |  26 +--
 .../2.4/plugins/referer-restriction/index.html     |  26 +--
 docs/apisix/2.4/plugins/request-id/index.html      |  26 +--
 .../2.4/plugins/request-validation/index.html      |  26 +--
 .../apisix/2.4/plugins/response-rewrite/index.html |  26 +--
 docs/apisix/2.4/plugins/server-info/index.html     |  26 +--
 docs/apisix/2.4/plugins/serverless/index.html      |  26 +--
 docs/apisix/2.4/plugins/skywalking/index.html      |  26 +--
 docs/apisix/2.4/plugins/sls-logger/index.html      |  26 +--
 docs/apisix/2.4/plugins/syslog/index.html          |  26 +--
 docs/apisix/2.4/plugins/tcp-logger/index.html      |  26 +--
 docs/apisix/2.4/plugins/traffic-split/index.html   |  26 +--
 docs/apisix/2.4/plugins/udp-logger/index.html      |  26 +--
 docs/apisix/2.4/plugins/uri-blocker/index.html     |  26 +--
 docs/apisix/2.4/plugins/wolf-rbac/index.html       |  26 +--
 docs/apisix/2.4/plugins/zipkin/index.html          |  26 +--
 docs/apisix/2.4/powered-by/index.html              |  26 +--
 docs/apisix/2.4/profile/index.html                 |  26 +--
 docs/apisix/2.4/router-radixtree/index.html        |  26 +--
 docs/apisix/2.4/stand-alone/index.html             |  26 +--
 docs/apisix/2.4/stream-proxy/index.html            |  26 +--
 docs/apisix/2.4/tags/index.html                    |  26 +--
 docs/apisix/2.5/FAQ/index.html                     |  26 +--
 docs/apisix/2.5/IGNORE_DOC/index.html              |  26 +--
 docs/apisix/2.5/admin-api/index.html               |  26 +--
 .../2.5/architecture-design/apisix/index.html      |  26 +--
 .../2.5/architecture-design/consumer/index.html    |  26 +--
 .../2.5/architecture-design/debug-mode/index.html  |  26 +--
 .../2.5/architecture-design/global-rule/index.html |  26 +--
 docs/apisix/2.5/architecture-design/index.html     |  26 +--
 .../architecture-design/plugin-config/index.html   |  26 +--
 .../2.5/architecture-design/plugin/index.html      |  26 +--
 .../2.5/architecture-design/route/index.html       |  26 +--
 .../2.5/architecture-design/router/index.html      |  26 +--
 .../2.5/architecture-design/script/index.html      |  26 +--
 .../2.5/architecture-design/service/index.html     |  26 +--
 .../2.5/architecture-design/upstream/index.html    |  26 +--
 docs/apisix/2.5/aws/index.html                     |  26 +--
 docs/apisix/2.5/batch-processor/index.html         |  26 +--
 docs/apisix/2.5/benchmark/index.html               |  26 +--
 docs/apisix/2.5/control-api/index.html             |  26 +--
 .../2.5/customize-nginx-configuration/index.html   |  26 +--
 docs/apisix/2.5/debug-function/index.html          |  26 +--
 docs/apisix/2.5/discovery/consul_kv/index.html     |  26 +--
 docs/apisix/2.5/discovery/dns/index.html           |  26 +--
 docs/apisix/2.5/discovery/index.html               |  26 +--
 docs/apisix/2.5/dns/index.html                     |  26 +--
 .../index.html                                     |  26 +--
 docs/apisix/2.5/getting-started/index.html         |  26 +--
 docs/apisix/2.5/grpc-proxy/index.html              |  26 +--
 docs/apisix/2.5/health-check/index.html            |  26 +--
 docs/apisix/2.5/how-to-build/index.html            |  26 +--
 docs/apisix/2.5/https/index.html                   |  26 +--
 docs/apisix/2.5/install-dependencies/index.html    |  26 +--
 docs/apisix/2.5/mtls/index.html                    |  26 +--
 docs/apisix/2.5/plugin-develop/index.html          |  26 +--
 docs/apisix/2.5/plugin-interceptors/index.html     |  26 +--
 docs/apisix/2.5/plugins/api-breaker/index.html     |  26 +--
 docs/apisix/2.5/plugins/authz-keycloak/index.html  |  26 +--
 docs/apisix/2.5/plugins/basic-auth/index.html      |  26 +--
 docs/apisix/2.5/plugins/batch-requests/index.html  |  26 +--
 .../2.5/plugins/consumer-restriction/index.html    |  26 +--
 docs/apisix/2.5/plugins/cors/index.html            |  26 +--
 docs/apisix/2.5/plugins/dubbo-proxy/index.html     |  26 +--
 docs/apisix/2.5/plugins/echo/index.html            |  26 +--
 .../apisix/2.5/plugins/error-log-logger/index.html |  26 +--
 docs/apisix/2.5/plugins/fault-injection/index.html |  26 +--
 docs/apisix/2.5/plugins/grpc-transcode/index.html  |  26 +--
 docs/apisix/2.5/plugins/hmac-auth/index.html       |  26 +--
 docs/apisix/2.5/plugins/http-logger/index.html     |  26 +--
 docs/apisix/2.5/plugins/index.html                 |  26 +--
 docs/apisix/2.5/plugins/ip-restriction/index.html  |  26 +--
 docs/apisix/2.5/plugins/jwt-auth/index.html        |  26 +--
 docs/apisix/2.5/plugins/kafka-logger/index.html    |  26 +--
 docs/apisix/2.5/plugins/key-auth/index.html        |  26 +--
 docs/apisix/2.5/plugins/limit-conn/index.html      |  26 +--
 docs/apisix/2.5/plugins/limit-count/index.html     |  26 +--
 docs/apisix/2.5/plugins/limit-req/index.html       |  26 +--
 docs/apisix/2.5/plugins/log-rotate/index.html      |  26 +--
 docs/apisix/2.5/plugins/mqtt-proxy/index.html      |  26 +--
 docs/apisix/2.5/plugins/node-status/index.html     |  26 +--
 docs/apisix/2.5/plugins/openid-connect/index.html  |  26 +--
 docs/apisix/2.5/plugins/prometheus/index.html      |  26 +--
 docs/apisix/2.5/plugins/proxy-cache/index.html     |  26 +--
 docs/apisix/2.5/plugins/proxy-mirror/index.html    |  26 +--
 docs/apisix/2.5/plugins/proxy-rewrite/index.html   |  26 +--
 docs/apisix/2.5/plugins/redirect/index.html        |  26 +--
 .../2.5/plugins/referer-restriction/index.html     |  26 +--
 docs/apisix/2.5/plugins/request-id/index.html      |  26 +--
 .../2.5/plugins/request-validation/index.html      |  26 +--
 .../apisix/2.5/plugins/response-rewrite/index.html |  26 +--
 docs/apisix/2.5/plugins/server-info/index.html     |  26 +--
 docs/apisix/2.5/plugins/serverless/index.html      |  26 +--
 docs/apisix/2.5/plugins/skywalking/index.html      |  26 +--
 docs/apisix/2.5/plugins/sls-logger/index.html      |  26 +--
 docs/apisix/2.5/plugins/syslog/index.html          |  26 +--
 docs/apisix/2.5/plugins/tcp-logger/index.html      |  26 +--
 docs/apisix/2.5/plugins/traffic-split/index.html   |  26 +--
 docs/apisix/2.5/plugins/udp-logger/index.html      |  26 +--
 docs/apisix/2.5/plugins/uri-blocker/index.html     |  26 +--
 docs/apisix/2.5/plugins/wolf-rbac/index.html       |  26 +--
 docs/apisix/2.5/plugins/zipkin/index.html          |  26 +--
 docs/apisix/2.5/powered-by/index.html              |  26 +--
 docs/apisix/2.5/profile/index.html                 |  26 +--
 docs/apisix/2.5/router-radixtree/index.html        |  26 +--
 docs/apisix/2.5/stand-alone/index.html             |  26 +--
 docs/apisix/2.5/stream-proxy/index.html            |  26 +--
 docs/apisix/2.5/tags/index.html                    |  26 +--
 docs/apisix/2.6/FAQ/index.html                     |  26 +--
 docs/apisix/2.6/IGNORE_DOC/index.html              |  26 +--
 docs/apisix/2.6/admin-api/index.html               |  26 +--
 .../2.6/architecture-design/apisix/index.html      |  26 +--
 .../2.6/architecture-design/consumer/index.html    |  26 +--
 .../2.6/architecture-design/debug-mode/index.html  |  26 +--
 .../2.6/architecture-design/global-rule/index.html |  26 +--
 docs/apisix/2.6/architecture-design/index.html     |  26 +--
 .../architecture-design/plugin-config/index.html   |  26 +--
 .../2.6/architecture-design/plugin/index.html      |  26 +--
 .../2.6/architecture-design/route/index.html       |  26 +--
 .../2.6/architecture-design/router/index.html      |  26 +--
 .../2.6/architecture-design/script/index.html      |  26 +--
 .../2.6/architecture-design/service/index.html     |  26 +--
 .../2.6/architecture-design/upstream/index.html    |  26 +--
 docs/apisix/2.6/aws/index.html                     |  26 +--
 docs/apisix/2.6/batch-processor/index.html         |  26 +--
 docs/apisix/2.6/benchmark/index.html               |  26 +--
 docs/apisix/2.6/control-api/index.html             |  26 +--
 .../2.6/customize-nginx-configuration/index.html   |  26 +--
 docs/apisix/2.6/debug-function/index.html          |  26 +--
 docs/apisix/2.6/discovery/consul_kv/index.html     |  26 +--
 docs/apisix/2.6/discovery/dns/index.html           |  26 +--
 docs/apisix/2.6/discovery/eureka/index.html        |  26 +--
 docs/apisix/2.6/discovery/index.html               |  26 +--
 docs/apisix/2.6/discovery/nacos/index.html         |  26 +--
 docs/apisix/2.6/dns/index.html                     |  26 +--
 .../index.html                                     |  26 +--
 docs/apisix/2.6/getting-started/index.html         |  26 +--
 docs/apisix/2.6/grpc-proxy/index.html              |  26 +--
 docs/apisix/2.6/health-check/index.html            |  26 +--
 docs/apisix/2.6/how-to-build/index.html            |  26 +--
 docs/apisix/2.6/https/index.html                   |  26 +--
 docs/apisix/2.6/install-dependencies/index.html    |  26 +--
 docs/apisix/2.6/mtls/index.html                    |  26 +--
 docs/apisix/2.6/plugin-develop/index.html          |  26 +--
 docs/apisix/2.6/plugin-interceptors/index.html     |  26 +--
 docs/apisix/2.6/plugins/api-breaker/index.html     |  26 +--
 docs/apisix/2.6/plugins/authz-keycloak/index.html  |  26 +--
 docs/apisix/2.6/plugins/basic-auth/index.html      |  26 +--
 docs/apisix/2.6/plugins/batch-requests/index.html  |  26 +--
 .../2.6/plugins/consumer-restriction/index.html    |  26 +--
 docs/apisix/2.6/plugins/cors/index.html            |  26 +--
 docs/apisix/2.6/plugins/dubbo-proxy/index.html     |  26 +--
 docs/apisix/2.6/plugins/echo/index.html            |  26 +--
 .../apisix/2.6/plugins/error-log-logger/index.html |  26 +--
 docs/apisix/2.6/plugins/fault-injection/index.html |  26 +--
 docs/apisix/2.6/plugins/grpc-transcode/index.html  |  26 +--
 docs/apisix/2.6/plugins/hmac-auth/index.html       |  26 +--
 docs/apisix/2.6/plugins/http-logger/index.html     |  26 +--
 docs/apisix/2.6/plugins/index.html                 |  26 +--
 docs/apisix/2.6/plugins/ip-restriction/index.html  |  26 +--
 docs/apisix/2.6/plugins/jwt-auth/index.html        |  26 +--
 docs/apisix/2.6/plugins/kafka-logger/index.html    |  26 +--
 docs/apisix/2.6/plugins/key-auth/index.html        |  26 +--
 docs/apisix/2.6/plugins/limit-conn/index.html      |  26 +--
 docs/apisix/2.6/plugins/limit-count/index.html     |  26 +--
 docs/apisix/2.6/plugins/limit-req/index.html       |  26 +--
 docs/apisix/2.6/plugins/log-rotate/index.html      |  26 +--
 docs/apisix/2.6/plugins/mqtt-proxy/index.html      |  26 +--
 docs/apisix/2.6/plugins/node-status/index.html     |  26 +--
 docs/apisix/2.6/plugins/openid-connect/index.html  |  26 +--
 docs/apisix/2.6/plugins/prometheus/index.html      |  26 +--
 docs/apisix/2.6/plugins/proxy-cache/index.html     |  26 +--
 docs/apisix/2.6/plugins/proxy-mirror/index.html    |  26 +--
 docs/apisix/2.6/plugins/proxy-rewrite/index.html   |  26 +--
 docs/apisix/2.6/plugins/redirect/index.html        |  26 +--
 .../2.6/plugins/referer-restriction/index.html     |  26 +--
 docs/apisix/2.6/plugins/request-id/index.html      |  26 +--
 .../2.6/plugins/request-validation/index.html      |  26 +--
 .../apisix/2.6/plugins/response-rewrite/index.html |  26 +--
 docs/apisix/2.6/plugins/server-info/index.html     |  26 +--
 docs/apisix/2.6/plugins/serverless/index.html      |  26 +--
 docs/apisix/2.6/plugins/skywalking/index.html      |  26 +--
 docs/apisix/2.6/plugins/sls-logger/index.html      |  26 +--
 docs/apisix/2.6/plugins/syslog/index.html          |  26 +--
 docs/apisix/2.6/plugins/tcp-logger/index.html      |  26 +--
 docs/apisix/2.6/plugins/traffic-split/index.html   |  26 +--
 docs/apisix/2.6/plugins/udp-logger/index.html      |  26 +--
 docs/apisix/2.6/plugins/uri-blocker/index.html     |  26 +--
 docs/apisix/2.6/plugins/wolf-rbac/index.html       |  26 +--
 docs/apisix/2.6/plugins/zipkin/index.html          |  26 +--
 docs/apisix/2.6/powered-by/index.html              |  26 +--
 docs/apisix/2.6/profile/index.html                 |  26 +--
 docs/apisix/2.6/router-radixtree/index.html        |  26 +--
 docs/apisix/2.6/stand-alone/index.html             |  26 +--
 docs/apisix/2.6/stream-proxy/index.html            |  26 +--
 docs/apisix/2.6/tags/index.html                    |  26 +--
 docs/apisix/2.7/FAQ/index.html                     |  26 +--
 docs/apisix/2.7/IGNORE_DOC/index.html              |  26 +--
 docs/apisix/2.7/admin-api/index.html               |  26 +--
 .../2.7/architecture-design/apisix/index.html      |  26 +--
 .../2.7/architecture-design/consumer/index.html    |  26 +--
 .../2.7/architecture-design/debug-mode/index.html  |  26 +--
 .../2.7/architecture-design/global-rule/index.html |  26 +--
 docs/apisix/2.7/architecture-design/index.html     |  26 +--
 .../architecture-design/plugin-config/index.html   |  26 +--
 .../2.7/architecture-design/plugin/index.html      |  26 +--
 .../2.7/architecture-design/route/index.html       |  26 +--
 .../2.7/architecture-design/router/index.html      |  26 +--
 .../2.7/architecture-design/script/index.html      |  26 +--
 .../2.7/architecture-design/service/index.html     |  26 +--
 .../2.7/architecture-design/upstream/index.html    |  26 +--
 docs/apisix/2.7/aws/index.html                     |  26 +--
 docs/apisix/2.7/batch-processor/index.html         |  26 +--
 docs/apisix/2.7/benchmark/index.html               |  26 +--
 docs/apisix/2.7/certificate/index.html             |  26 +--
 docs/apisix/2.7/control-api/index.html             |  26 +--
 .../2.7/customize-nginx-configuration/index.html   |  26 +--
 docs/apisix/2.7/debug-function/index.html          |  26 +--
 docs/apisix/2.7/discovery/consul_kv/index.html     |  26 +--
 docs/apisix/2.7/discovery/dns/index.html           |  26 +--
 docs/apisix/2.7/discovery/eureka/index.html        |  26 +--
 docs/apisix/2.7/discovery/index.html               |  26 +--
 docs/apisix/2.7/discovery/nacos/index.html         |  26 +--
 docs/apisix/2.7/dns/index.html                     |  26 +--
 .../index.html                                     |  26 +--
 docs/apisix/2.7/external-plugin/index.html         |  26 +--
 docs/apisix/2.7/getting-started/index.html         |  26 +--
 docs/apisix/2.7/grpc-proxy/index.html              |  26 +--
 docs/apisix/2.7/health-check/index.html            |  26 +--
 docs/apisix/2.7/how-to-build/index.html            |  26 +--
 docs/apisix/2.7/https/index.html                   |  26 +--
 docs/apisix/2.7/install-dependencies/index.html    |  26 +--
 docs/apisix/2.7/mtls/index.html                    |  26 +--
 docs/apisix/2.7/plugin-develop/index.html          |  26 +--
 docs/apisix/2.7/plugin-interceptors/index.html     |  26 +--
 docs/apisix/2.7/plugins/api-breaker/index.html     |  26 +--
 docs/apisix/2.7/plugins/authz-keycloak/index.html  |  26 +--
 docs/apisix/2.7/plugins/basic-auth/index.html      |  26 +--
 docs/apisix/2.7/plugins/batch-requests/index.html  |  26 +--
 docs/apisix/2.7/plugins/client-control/index.html  |  26 +--
 .../2.7/plugins/consumer-restriction/index.html    |  26 +--
 docs/apisix/2.7/plugins/cors/index.html            |  26 +--
 docs/apisix/2.7/plugins/dubbo-proxy/index.html     |  26 +--
 docs/apisix/2.7/plugins/echo/index.html            |  26 +--
 .../apisix/2.7/plugins/error-log-logger/index.html |  26 +--
 .../2.7/plugins/ext-plugin-post-req/index.html     |  26 +--
 .../2.7/plugins/ext-plugin-pre-req/index.html      |  26 +--
 docs/apisix/2.7/plugins/fault-injection/index.html |  26 +--
 docs/apisix/2.7/plugins/grpc-transcode/index.html  |  26 +--
 docs/apisix/2.7/plugins/hmac-auth/index.html       |  26 +--
 docs/apisix/2.7/plugins/http-logger/index.html     |  26 +--
 docs/apisix/2.7/plugins/index.html                 |  26 +--
 docs/apisix/2.7/plugins/ip-restriction/index.html  |  26 +--
 docs/apisix/2.7/plugins/jwt-auth/index.html        |  26 +--
 docs/apisix/2.7/plugins/kafka-logger/index.html    |  26 +--
 docs/apisix/2.7/plugins/key-auth/index.html        |  26 +--
 docs/apisix/2.7/plugins/limit-conn/index.html      |  26 +--
 docs/apisix/2.7/plugins/limit-count/index.html     |  26 +--
 docs/apisix/2.7/plugins/limit-req/index.html       |  26 +--
 docs/apisix/2.7/plugins/log-rotate/index.html      |  26 +--
 docs/apisix/2.7/plugins/mqtt-proxy/index.html      |  26 +--
 docs/apisix/2.7/plugins/node-status/index.html     |  26 +--
 docs/apisix/2.7/plugins/openid-connect/index.html  |  26 +--
 docs/apisix/2.7/plugins/prometheus/index.html      |  26 +--
 docs/apisix/2.7/plugins/proxy-cache/index.html     |  26 +--
 docs/apisix/2.7/plugins/proxy-mirror/index.html    |  26 +--
 docs/apisix/2.7/plugins/proxy-rewrite/index.html   |  26 +--
 docs/apisix/2.7/plugins/redirect/index.html        |  26 +--
 .../2.7/plugins/referer-restriction/index.html     |  26 +--
 docs/apisix/2.7/plugins/request-id/index.html      |  26 +--
 .../2.7/plugins/request-validation/index.html      |  26 +--
 .../apisix/2.7/plugins/response-rewrite/index.html |  26 +--
 docs/apisix/2.7/plugins/server-info/index.html     |  26 +--
 docs/apisix/2.7/plugins/serverless/index.html      |  26 +--
 docs/apisix/2.7/plugins/skywalking/index.html      |  26 +--
 docs/apisix/2.7/plugins/sls-logger/index.html      |  26 +--
 docs/apisix/2.7/plugins/syslog/index.html          |  26 +--
 docs/apisix/2.7/plugins/tcp-logger/index.html      |  26 +--
 docs/apisix/2.7/plugins/traffic-split/index.html   |  26 +--
 docs/apisix/2.7/plugins/udp-logger/index.html      |  26 +--
 docs/apisix/2.7/plugins/uri-blocker/index.html     |  26 +--
 docs/apisix/2.7/plugins/wolf-rbac/index.html       |  26 +--
 docs/apisix/2.7/plugins/zipkin/index.html          |  26 +--
 docs/apisix/2.7/powered-by/index.html              |  26 +--
 docs/apisix/2.7/profile/index.html                 |  26 +--
 docs/apisix/2.7/router-radixtree/index.html        |  26 +--
 docs/apisix/2.7/stand-alone/index.html             |  26 +--
 docs/apisix/2.7/stream-proxy/index.html            |  26 +--
 docs/apisix/2.7/tags/index.html                    |  26 +--
 docs/apisix/2.8/FAQ/index.html                     |  26 +--
 docs/apisix/2.8/IGNORE_DOC/index.html              |  26 +--
 docs/apisix/2.8/admin-api/index.html               |  26 +--
 .../2.8/architecture-design/apisix/index.html      |  26 +--
 .../2.8/architecture-design/consumer/index.html    |  26 +--
 .../2.8/architecture-design/debug-mode/index.html  |  26 +--
 .../2.8/architecture-design/global-rule/index.html |  26 +--
 docs/apisix/2.8/architecture-design/index.html     |  26 +--
 .../architecture-design/plugin-config/index.html   |  26 +--
 .../2.8/architecture-design/plugin/index.html      |  26 +--
 .../2.8/architecture-design/route/index.html       |  26 +--
 .../2.8/architecture-design/router/index.html      |  26 +--
 .../2.8/architecture-design/script/index.html      |  26 +--
 .../2.8/architecture-design/service/index.html     |  26 +--
 .../2.8/architecture-design/upstream/index.html    |  26 +--
 docs/apisix/2.8/aws/index.html                     |  26 +--
 docs/apisix/2.8/batch-processor/index.html         |  26 +--
 docs/apisix/2.8/benchmark/index.html               |  26 +--
 docs/apisix/2.8/certificate/index.html             |  26 +--
 docs/apisix/2.8/control-api/index.html             |  26 +--
 .../2.8/customize-nginx-configuration/index.html   |  26 +--
 docs/apisix/2.8/debug-function/index.html          |  26 +--
 docs/apisix/2.8/discovery/consul_kv/index.html     |  26 +--
 docs/apisix/2.8/discovery/dns/index.html           |  26 +--
 docs/apisix/2.8/discovery/eureka/index.html        |  26 +--
 docs/apisix/2.8/discovery/index.html               |  26 +--
 docs/apisix/2.8/discovery/nacos/index.html         |  26 +--
 docs/apisix/2.8/dns/index.html                     |  26 +--
 .../index.html                                     |  26 +--
 docs/apisix/2.8/external-plugin/index.html         |  26 +--
 docs/apisix/2.8/getting-started/index.html         |  26 +--
 docs/apisix/2.8/grpc-proxy/index.html              |  26 +--
 docs/apisix/2.8/health-check/index.html            |  26 +--
 docs/apisix/2.8/how-to-build/index.html            |  26 +--
 docs/apisix/2.8/https/index.html                   |  26 +--
 docs/apisix/2.8/install-dependencies/index.html    |  26 +--
 docs/apisix/2.8/mtls/index.html                    |  26 +--
 docs/apisix/2.8/plugin-develop/index.html          |  26 +--
 docs/apisix/2.8/plugin-interceptors/index.html     |  26 +--
 docs/apisix/2.8/plugins/api-breaker/index.html     |  26 +--
 docs/apisix/2.8/plugins/authz-keycloak/index.html  |  26 +--
 docs/apisix/2.8/plugins/basic-auth/index.html      |  26 +--
 docs/apisix/2.8/plugins/batch-requests/index.html  |  26 +--
 docs/apisix/2.8/plugins/client-control/index.html  |  26 +--
 .../2.8/plugins/consumer-restriction/index.html    |  26 +--
 docs/apisix/2.8/plugins/cors/index.html            |  26 +--
 docs/apisix/2.8/plugins/dubbo-proxy/index.html     |  26 +--
 docs/apisix/2.8/plugins/echo/index.html            |  26 +--
 .../apisix/2.8/plugins/error-log-logger/index.html |  26 +--
 .../2.8/plugins/ext-plugin-post-req/index.html     |  26 +--
 .../2.8/plugins/ext-plugin-pre-req/index.html      |  26 +--
 docs/apisix/2.8/plugins/fault-injection/index.html |  26 +--
 docs/apisix/2.8/plugins/grpc-transcode/index.html  |  26 +--
 docs/apisix/2.8/plugins/gzip/index.html            |  26 +--
 docs/apisix/2.8/plugins/hmac-auth/index.html       |  26 +--
 docs/apisix/2.8/plugins/http-logger/index.html     |  26 +--
 docs/apisix/2.8/plugins/index.html                 |  26 +--
 docs/apisix/2.8/plugins/ip-restriction/index.html  |  26 +--
 docs/apisix/2.8/plugins/jwt-auth/index.html        |  26 +--
 docs/apisix/2.8/plugins/kafka-logger/index.html    |  26 +--
 docs/apisix/2.8/plugins/key-auth/index.html        |  26 +--
 docs/apisix/2.8/plugins/limit-conn/index.html      |  26 +--
 docs/apisix/2.8/plugins/limit-count/index.html     |  26 +--
 docs/apisix/2.8/plugins/limit-req/index.html       |  26 +--
 docs/apisix/2.8/plugins/log-rotate/index.html      |  26 +--
 docs/apisix/2.8/plugins/mqtt-proxy/index.html      |  26 +--
 docs/apisix/2.8/plugins/node-status/index.html     |  26 +--
 docs/apisix/2.8/plugins/openid-connect/index.html  |  26 +--
 docs/apisix/2.8/plugins/prometheus/index.html      |  26 +--
 docs/apisix/2.8/plugins/proxy-cache/index.html     |  26 +--
 docs/apisix/2.8/plugins/proxy-mirror/index.html    |  26 +--
 docs/apisix/2.8/plugins/proxy-rewrite/index.html   |  26 +--
 docs/apisix/2.8/plugins/redirect/index.html        |  26 +--
 .../2.8/plugins/referer-restriction/index.html     |  26 +--
 docs/apisix/2.8/plugins/request-id/index.html      |  26 +--
 .../2.8/plugins/request-validation/index.html      |  26 +--
 .../apisix/2.8/plugins/response-rewrite/index.html |  26 +--
 docs/apisix/2.8/plugins/server-info/index.html     |  26 +--
 docs/apisix/2.8/plugins/serverless/index.html      |  26 +--
 docs/apisix/2.8/plugins/skywalking/index.html      |  26 +--
 docs/apisix/2.8/plugins/sls-logger/index.html      |  26 +--
 docs/apisix/2.8/plugins/syslog/index.html          |  26 +--
 docs/apisix/2.8/plugins/tcp-logger/index.html      |  26 +--
 docs/apisix/2.8/plugins/traffic-split/index.html   |  26 +--
 docs/apisix/2.8/plugins/ua-restriction/index.html  |  26 +--
 docs/apisix/2.8/plugins/udp-logger/index.html      |  26 +--
 docs/apisix/2.8/plugins/uri-blocker/index.html     |  26 +--
 docs/apisix/2.8/plugins/wolf-rbac/index.html       |  26 +--
 docs/apisix/2.8/plugins/zipkin/index.html          |  26 +--
 docs/apisix/2.8/powered-by/index.html              |  26 +--
 docs/apisix/2.8/profile/index.html                 |  26 +--
 docs/apisix/2.8/router-radixtree/index.html        |  26 +--
 docs/apisix/2.8/stand-alone/index.html             |  26 +--
 docs/apisix/2.8/stream-proxy/index.html            |  26 +--
 docs/apisix/2.8/tags/index.html                    |  26 +--
 docs/apisix/2.9/FAQ/index.html                     |  26 +--
 docs/apisix/2.9/IGNORE_DOC/index.html              |  26 +--
 docs/apisix/2.9/admin-api/index.html               |  26 +--
 .../2.9/architecture-design/apisix/index.html      |  26 +--
 .../2.9/architecture-design/consumer/index.html    |  26 +--
 .../2.9/architecture-design/debug-mode/index.html  |  26 +--
 .../2.9/architecture-design/global-rule/index.html |  26 +--
 docs/apisix/2.9/architecture-design/index.html     |  26 +--
 .../architecture-design/plugin-config/index.html   |  26 +--
 .../2.9/architecture-design/plugin/index.html      |  26 +--
 .../2.9/architecture-design/route/index.html       |  26 +--
 .../2.9/architecture-design/router/index.html      |  26 +--
 .../2.9/architecture-design/script/index.html      |  26 +--
 .../2.9/architecture-design/service/index.html     |  26 +--
 .../2.9/architecture-design/upstream/index.html    |  26 +--
 docs/apisix/2.9/aws/index.html                     |  26 +--
 docs/apisix/2.9/batch-processor/index.html         |  26 +--
 docs/apisix/2.9/benchmark/index.html               |  26 +--
 docs/apisix/2.9/certificate/index.html             |  26 +--
 docs/apisix/2.9/control-api/index.html             |  26 +--
 .../2.9/customize-nginx-configuration/index.html   |  26 +--
 docs/apisix/2.9/debug-function/index.html          |  26 +--
 docs/apisix/2.9/discovery/consul_kv/index.html     |  26 +--
 docs/apisix/2.9/discovery/dns/index.html           |  26 +--
 docs/apisix/2.9/discovery/eureka/index.html        |  26 +--
 docs/apisix/2.9/discovery/index.html               |  26 +--
 docs/apisix/2.9/discovery/nacos/index.html         |  26 +--
 docs/apisix/2.9/dns/index.html                     |  26 +--
 .../index.html                                     |  26 +--
 docs/apisix/2.9/external-plugin/index.html         |  26 +--
 docs/apisix/2.9/getting-started/index.html         |  26 +--
 docs/apisix/2.9/grpc-proxy/index.html              |  26 +--
 docs/apisix/2.9/health-check/index.html            |  26 +--
 docs/apisix/2.9/how-to-build/index.html            |  26 +--
 docs/apisix/2.9/https/index.html                   |  26 +--
 docs/apisix/2.9/install-dependencies/index.html    |  26 +--
 .../2.9/internal/testing-framework/index.html      |  26 +--
 docs/apisix/2.9/mtls/index.html                    |  26 +--
 docs/apisix/2.9/plugin-develop/index.html          |  26 +--
 docs/apisix/2.9/plugin-interceptors/index.html     |  26 +--
 docs/apisix/2.9/plugins/api-breaker/index.html     |  26 +--
 docs/apisix/2.9/plugins/authz-casbin/index.html    |  26 +--
 docs/apisix/2.9/plugins/authz-keycloak/index.html  |  26 +--
 docs/apisix/2.9/plugins/basic-auth/index.html      |  26 +--
 docs/apisix/2.9/plugins/batch-requests/index.html  |  26 +--
 docs/apisix/2.9/plugins/client-control/index.html  |  26 +--
 .../2.9/plugins/consumer-restriction/index.html    |  26 +--
 docs/apisix/2.9/plugins/cors/index.html            |  26 +--
 docs/apisix/2.9/plugins/dubbo-proxy/index.html     |  26 +--
 docs/apisix/2.9/plugins/echo/index.html            |  26 +--
 .../apisix/2.9/plugins/error-log-logger/index.html |  26 +--
 .../2.9/plugins/ext-plugin-post-req/index.html     |  26 +--
 .../2.9/plugins/ext-plugin-pre-req/index.html      |  26 +--
 docs/apisix/2.9/plugins/fault-injection/index.html |  26 +--
 docs/apisix/2.9/plugins/grpc-transcode/index.html  |  26 +--
 docs/apisix/2.9/plugins/gzip/index.html            |  26 +--
 docs/apisix/2.9/plugins/hmac-auth/index.html       |  26 +--
 docs/apisix/2.9/plugins/http-logger/index.html     |  26 +--
 docs/apisix/2.9/plugins/index.html                 |  26 +--
 docs/apisix/2.9/plugins/ip-restriction/index.html  |  26 +--
 docs/apisix/2.9/plugins/jwt-auth/index.html        |  26 +--
 docs/apisix/2.9/plugins/kafka-logger/index.html    |  26 +--
 docs/apisix/2.9/plugins/key-auth/index.html        |  26 +--
 docs/apisix/2.9/plugins/limit-conn/index.html      |  26 +--
 docs/apisix/2.9/plugins/limit-count/index.html     |  26 +--
 docs/apisix/2.9/plugins/limit-req/index.html       |  26 +--
 docs/apisix/2.9/plugins/log-rotate/index.html      |  26 +--
 docs/apisix/2.9/plugins/mqtt-proxy/index.html      |  26 +--
 docs/apisix/2.9/plugins/node-status/index.html     |  26 +--
 docs/apisix/2.9/plugins/openid-connect/index.html  |  26 +--
 docs/apisix/2.9/plugins/prometheus/index.html      |  26 +--
 docs/apisix/2.9/plugins/proxy-cache/index.html     |  26 +--
 docs/apisix/2.9/plugins/proxy-mirror/index.html    |  26 +--
 docs/apisix/2.9/plugins/proxy-rewrite/index.html   |  26 +--
 docs/apisix/2.9/plugins/real-ip/index.html         |  26 +--
 docs/apisix/2.9/plugins/redirect/index.html        |  26 +--
 .../2.9/plugins/referer-restriction/index.html     |  26 +--
 docs/apisix/2.9/plugins/request-id/index.html      |  26 +--
 .../2.9/plugins/request-validation/index.html      |  26 +--
 .../apisix/2.9/plugins/response-rewrite/index.html |  26 +--
 docs/apisix/2.9/plugins/server-info/index.html     |  26 +--
 docs/apisix/2.9/plugins/serverless/index.html      |  26 +--
 docs/apisix/2.9/plugins/skywalking/index.html      |  26 +--
 docs/apisix/2.9/plugins/sls-logger/index.html      |  26 +--
 docs/apisix/2.9/plugins/syslog/index.html          |  26 +--
 docs/apisix/2.9/plugins/tcp-logger/index.html      |  26 +--
 docs/apisix/2.9/plugins/traffic-split/index.html   |  26 +--
 docs/apisix/2.9/plugins/ua-restriction/index.html  |  26 +--
 docs/apisix/2.9/plugins/udp-logger/index.html      |  26 +--
 docs/apisix/2.9/plugins/uri-blocker/index.html     |  26 +--
 docs/apisix/2.9/plugins/wolf-rbac/index.html       |  26 +--
 docs/apisix/2.9/plugins/zipkin/index.html          |  26 +--
 docs/apisix/2.9/powered-by/index.html              |  26 +--
 docs/apisix/2.9/profile/index.html                 |  26 +--
 docs/apisix/2.9/router-radixtree/index.html        |  26 +--
 docs/apisix/2.9/stand-alone/index.html             |  26 +--
 docs/apisix/2.9/stream-proxy/index.html            |  26 +--
 docs/apisix/2.9/tags/index.html                    |  26 +--
 docs/apisix/FAQ/index.html                         |  26 +--
 docs/apisix/IGNORE_DOC/index.html                  |  26 +--
 docs/apisix/admin-api/index.html                   |  26 +--
 docs/apisix/architecture-design/apisix/index.html  |  26 +--
 .../apisix/architecture-design/consumer/index.html |  26 +--
 .../architecture-design/debug-mode/index.html      |  26 +--
 .../architecture-design/global-rule/index.html     |  26 +--
 docs/apisix/architecture-design/index.html         |  26 +--
 .../architecture-design/plugin-config/index.html   |  26 +--
 docs/apisix/architecture-design/plugin/index.html  |  26 +--
 docs/apisix/architecture-design/route/index.html   |  26 +--
 docs/apisix/architecture-design/router/index.html  |  26 +--
 docs/apisix/architecture-design/script/index.html  |  26 +--
 docs/apisix/architecture-design/service/index.html |  26 +--
 .../apisix/architecture-design/upstream/index.html |  26 +--
 docs/apisix/aws/index.html                         |  26 +--
 docs/apisix/batch-processor/index.html             |  26 +--
 docs/apisix/benchmark/index.html                   |  26 +--
 docs/apisix/certificate/index.html                 |  26 +--
 docs/apisix/control-api/index.html                 |  26 +--
 .../customize-nginx-configuration/index.html       |  26 +--
 docs/apisix/debug-function/index.html              |  26 +--
 docs/apisix/discovery/consul_kv/index.html         |  26 +--
 docs/apisix/discovery/dns/index.html               |  26 +--
 docs/apisix/discovery/eureka/index.html            |  26 +--
 docs/apisix/discovery/index.html                   |  26 +--
 docs/apisix/discovery/nacos/index.html             |  26 +--
 docs/apisix/dns/index.html                         |  26 +--
 .../index.html                                     |  26 +--
 docs/apisix/external-plugin/index.html             |  26 +--
 docs/apisix/getting-started/index.html             |  26 +--
 docs/apisix/grpc-proxy/index.html                  |  26 +--
 docs/apisix/health-check/index.html                |  26 +--
 docs/apisix/how-to-build/index.html                |  26 +--
 docs/apisix/https/index.html                       |  26 +--
 docs/apisix/install-dependencies/index.html        |  26 +--
 docs/apisix/internal/testing-framework/index.html  |  26 +--
 docs/apisix/mtls/index.html                        |  26 +--
 docs/apisix/next/FAQ/index.html                    |  26 +--
 docs/apisix/next/IGNORE_DOC/index.html             |  26 +--
 docs/apisix/next/admin-api/index.html              |  26 +--
 .../next/architecture-design/apisix/index.html     |  26 +--
 .../next/architecture-design/consumer/index.html   |  26 +--
 .../next/architecture-design/debug-mode/index.html |  26 +--
 .../architecture-design/global-rule/index.html     |  26 +--
 docs/apisix/next/architecture-design/index.html    |  26 +--
 .../architecture-design/plugin-config/index.html   |  26 +--
 .../next/architecture-design/plugin/index.html     |  26 +--
 .../next/architecture-design/route/index.html      |  26 +--
 .../next/architecture-design/router/index.html     |  26 +--
 .../next/architecture-design/script/index.html     |  26 +--
 .../next/architecture-design/service/index.html    |  26 +--
 .../next/architecture-design/upstream/index.html   |  26 +--
 docs/apisix/next/aws/index.html                    |  26 +--
 docs/apisix/next/batch-processor/index.html        |  26 +--
 docs/apisix/next/benchmark/index.html              |  26 +--
 docs/apisix/next/certificate/index.html            |  26 +--
 docs/apisix/next/control-api/index.html            |  26 +--
 .../next/customize-nginx-configuration/index.html  |  26 +--
 docs/apisix/next/debug-function/index.html         |  26 +--
 docs/apisix/next/discovery/consul_kv/index.html    |  26 +--
 docs/apisix/next/discovery/dns/index.html          |  26 +--
 docs/apisix/next/discovery/eureka/index.html       |  26 +--
 docs/apisix/next/discovery/index.html              |  26 +--
 docs/apisix/next/discovery/nacos/index.html        |  26 +--
 docs/apisix/next/dns/index.html                    |  26 +--
 .../index.html                                     |  26 +--
 docs/apisix/next/external-plugin/index.html        |  26 +--
 docs/apisix/next/getting-started/index.html        |  26 +--
 docs/apisix/next/grpc-proxy/index.html             |  26 +--
 docs/apisix/next/health-check/index.html           |  26 +--
 docs/apisix/next/how-to-build/index.html           |  26 +--
 docs/apisix/next/https/index.html                  |  26 +--
 docs/apisix/next/install-dependencies/index.html   |  26 +--
 .../next/internal/testing-framework/index.html     |  26 +--
 docs/apisix/next/mtls/index.html                   |  26 +--
 docs/apisix/next/plugin-develop/index.html         |  26 +--
 docs/apisix/next/plugin-interceptors/index.html    |  26 +--
 docs/apisix/next/plugins/api-breaker/index.html    |  26 +--
 docs/apisix/next/plugins/authz-casbin/index.html   |  26 +--
 docs/apisix/next/plugins/authz-keycloak/index.html |  26 +--
 docs/apisix/next/plugins/basic-auth/index.html     |  26 +--
 docs/apisix/next/plugins/batch-requests/index.html |  26 +--
 docs/apisix/next/plugins/client-control/index.html |  26 +--
 .../next/plugins/consumer-restriction/index.html   |  26 +--
 docs/apisix/next/plugins/cors/index.html           |  26 +--
 docs/apisix/next/plugins/datadog/index.html        |  26 +--
 docs/apisix/next/plugins/dubbo-proxy/index.html    |  26 +--
 docs/apisix/next/plugins/echo/index.html           |  26 +--
 .../next/plugins/error-log-logger/index.html       |  26 +--
 .../next/plugins/ext-plugin-post-req/index.html    |  26 +--
 .../next/plugins/ext-plugin-pre-req/index.html     |  26 +--
 .../apisix/next/plugins/fault-injection/index.html |  26 +--
 docs/apisix/next/plugins/grpc-transcode/index.html |  26 +--
 docs/apisix/next/plugins/gzip/index.html           |  26 +--
 docs/apisix/next/plugins/hmac-auth/index.html      |  26 +--
 docs/apisix/next/plugins/http-logger/index.html    |  26 +--
 docs/apisix/next/plugins/index.html                |  26 +--
 docs/apisix/next/plugins/ip-restriction/index.html |  26 +--
 docs/apisix/next/plugins/jwt-auth/index.html       |  26 +--
 docs/apisix/next/plugins/kafka-logger/index.html   |  26 +--
 docs/apisix/next/plugins/key-auth/index.html       |  26 +--
 docs/apisix/next/plugins/ldap-auth/index.html      |  26 +--
 docs/apisix/next/plugins/limit-conn/index.html     |  26 +--
 docs/apisix/next/plugins/limit-count/index.html    |  26 +--
 docs/apisix/next/plugins/limit-req/index.html      |  26 +--
 docs/apisix/next/plugins/log-rotate/index.html     |  26 +--
 docs/apisix/next/plugins/mqtt-proxy/index.html     |  26 +--
 docs/apisix/next/plugins/node-status/index.html    |  26 +--
 docs/apisix/next/plugins/openid-connect/index.html |  26 +--
 docs/apisix/next/plugins/prometheus/index.html     |  26 +--
 docs/apisix/next/plugins/proxy-cache/index.html    |  26 +--
 docs/apisix/next/plugins/proxy-mirror/index.html   |  26 +--
 docs/apisix/next/plugins/proxy-rewrite/index.html  |  26 +--
 docs/apisix/next/plugins/real-ip/index.html        |  26 +--
 docs/apisix/next/plugins/redirect/index.html       |  26 +--
 .../next/plugins/referer-restriction/index.html    |  26 +--
 docs/apisix/next/plugins/request-id/index.html     |  26 +--
 .../next/plugins/request-validation/index.html     |  26 +--
 .../next/plugins/response-rewrite/index.html       |  26 +--
 docs/apisix/next/plugins/server-info/index.html    |  26 +--
 docs/apisix/next/plugins/serverless/index.html     |  26 +--
 .../next/plugins/skywalking-logger/index.html      |  26 +--
 docs/apisix/next/plugins/skywalking/index.html     |  26 +--
 docs/apisix/next/plugins/sls-logger/index.html     |  26 +--
 docs/apisix/next/plugins/syslog/index.html         |  26 +--
 docs/apisix/next/plugins/tcp-logger/index.html     |  26 +--
 docs/apisix/next/plugins/traffic-split/index.html  |  26 +--
 docs/apisix/next/plugins/ua-restriction/index.html |  26 +--
 docs/apisix/next/plugins/udp-logger/index.html     |  26 +--
 docs/apisix/next/plugins/uri-blocker/index.html    |  26 +--
 docs/apisix/next/plugins/wolf-rbac/index.html      |  26 +--
 docs/apisix/next/plugins/zipkin/index.html         |  26 +--
 docs/apisix/next/powered-by/index.html             |  26 +--
 docs/apisix/next/profile/index.html                |  26 +--
 docs/apisix/next/router-radixtree/index.html       |  26 +--
 docs/apisix/next/stand-alone/index.html            |  26 +--
 docs/apisix/next/stream-proxy/index.html           |  26 +--
 docs/apisix/next/tags/index.html                   |  26 +--
 docs/apisix/next/wasm/index.html                   |  26 +--
 docs/apisix/plugin-develop/index.html              |  26 +--
 docs/apisix/plugin-interceptors/index.html         |  26 +--
 docs/apisix/plugins/api-breaker/index.html         |  26 +--
 docs/apisix/plugins/authz-casbin/index.html        |  26 +--
 docs/apisix/plugins/authz-keycloak/index.html      |  26 +--
 docs/apisix/plugins/basic-auth/index.html          |  26 +--
 docs/apisix/plugins/batch-requests/index.html      |  26 +--
 docs/apisix/plugins/client-control/index.html      |  26 +--
 .../apisix/plugins/consumer-restriction/index.html |  26 +--
 docs/apisix/plugins/cors/index.html                |  26 +--
 docs/apisix/plugins/dubbo-proxy/index.html         |  26 +--
 docs/apisix/plugins/echo/index.html                |  26 +--
 docs/apisix/plugins/error-log-logger/index.html    |  26 +--
 docs/apisix/plugins/ext-plugin-post-req/index.html |  26 +--
 docs/apisix/plugins/ext-plugin-pre-req/index.html  |  26 +--
 docs/apisix/plugins/fault-injection/index.html     |  26 +--
 docs/apisix/plugins/grpc-transcode/index.html      |  26 +--
 docs/apisix/plugins/gzip/index.html                |  26 +--
 docs/apisix/plugins/hmac-auth/index.html           |  26 +--
 docs/apisix/plugins/http-logger/index.html         |  26 +--
 docs/apisix/plugins/index.html                     |  26 +--
 docs/apisix/plugins/ip-restriction/index.html      |  26 +--
 docs/apisix/plugins/jwt-auth/index.html            |  26 +--
 docs/apisix/plugins/kafka-logger/index.html        |  26 +--
 docs/apisix/plugins/key-auth/index.html            |  26 +--
 docs/apisix/plugins/limit-conn/index.html          |  26 +--
 docs/apisix/plugins/limit-count/index.html         |  26 +--
 docs/apisix/plugins/limit-req/index.html           |  26 +--
 docs/apisix/plugins/log-rotate/index.html          |  26 +--
 docs/apisix/plugins/mqtt-proxy/index.html          |  26 +--
 docs/apisix/plugins/node-status/index.html         |  26 +--
 docs/apisix/plugins/openid-connect/index.html      |  26 +--
 docs/apisix/plugins/prometheus/index.html          |  26 +--
 docs/apisix/plugins/proxy-cache/index.html         |  26 +--
 docs/apisix/plugins/proxy-mirror/index.html        |  26 +--
 docs/apisix/plugins/proxy-rewrite/index.html       |  26 +--
 docs/apisix/plugins/real-ip/index.html             |  26 +--
 docs/apisix/plugins/redirect/index.html            |  26 +--
 docs/apisix/plugins/referer-restriction/index.html |  26 +--
 docs/apisix/plugins/request-id/index.html          |  26 +--
 docs/apisix/plugins/request-validation/index.html  |  26 +--
 docs/apisix/plugins/response-rewrite/index.html    |  26 +--
 docs/apisix/plugins/server-info/index.html         |  26 +--
 docs/apisix/plugins/serverless/index.html          |  26 +--
 docs/apisix/plugins/skywalking/index.html          |  26 +--
 docs/apisix/plugins/sls-logger/index.html          |  26 +--
 docs/apisix/plugins/syslog/index.html              |  26 +--
 docs/apisix/plugins/tcp-logger/index.html          |  26 +--
 docs/apisix/plugins/traffic-split/index.html       |  26 +--
 docs/apisix/plugins/ua-restriction/index.html      |  26 +--
 docs/apisix/plugins/udp-logger/index.html          |  26 +--
 docs/apisix/plugins/uri-blocker/index.html         |  26 +--
 docs/apisix/plugins/wolf-rbac/index.html           |  26 +--
 docs/apisix/plugins/zipkin/index.html              |  26 +--
 docs/apisix/powered-by/index.html                  |  26 +--
 docs/apisix/profile/index.html                     |  26 +--
 docs/apisix/router-radixtree/index.html            |  26 +--
 docs/apisix/stand-alone/index.html                 |  26 +--
 docs/apisix/stream-proxy/index.html                |  26 +--
 docs/apisix/tags/index.html                        |  26 +--
 docs/dashboard/2.5/FAQ/index.html                  |  26 +--
 docs/dashboard/2.5/I18N_USER_GUIDE/index.html      |  26 +--
 docs/dashboard/2.5/IGNORE_DOC/index.html           |  26 +--
 .../2.5/IMPORT_OPENAPI_USER_GUIDE/index.html       |  26 +--
 docs/dashboard/2.5/USER_GUIDE/index.html           |  26 +--
 docs/dashboard/2.5/api/api/index.html              |  26 +--
 docs/dashboard/2.5/back-end-tests/index.html       |  26 +--
 docs/dashboard/2.5/deploy-with-docker/index.html   |  26 +--
 docs/dashboard/2.5/deploy-with-rpm/index.html      |  26 +--
 docs/dashboard/2.5/deploy/index.html               |  26 +--
 docs/dashboard/2.5/develop/index.html              |  26 +--
 docs/dashboard/2.5/front-end-e2e/index.html        |  26 +--
 docs/dashboard/2.5/tags/index.html                 |  26 +--
 docs/dashboard/2.6.1/FAQ/index.html                |  26 +--
 docs/dashboard/2.6.1/I18N_USER_GUIDE/index.html    |  26 +--
 docs/dashboard/2.6.1/IGNORE_DOC/index.html         |  26 +--
 .../2.6.1/IMPORT_OPENAPI_USER_GUIDE/index.html     |  26 +--
 docs/dashboard/2.6.1/USER_GUIDE/index.html         |  26 +--
 docs/dashboard/2.6.1/api/api/index.html            |  26 +--
 docs/dashboard/2.6.1/back-end-tests/index.html     |  26 +--
 docs/dashboard/2.6.1/deploy-with-docker/index.html |  26 +--
 docs/dashboard/2.6.1/deploy-with-rpm/index.html    |  26 +--
 docs/dashboard/2.6.1/deploy/index.html             |  26 +--
 docs/dashboard/2.6.1/develop/index.html            |  26 +--
 docs/dashboard/2.6.1/front-end-e2e/index.html      |  26 +--
 docs/dashboard/2.6.1/tags/index.html               |  26 +--
 docs/dashboard/2.6/FAQ/index.html                  |  26 +--
 docs/dashboard/2.6/I18N_USER_GUIDE/index.html      |  26 +--
 docs/dashboard/2.6/IGNORE_DOC/index.html           |  26 +--
 .../2.6/IMPORT_OPENAPI_USER_GUIDE/index.html       |  26 +--
 docs/dashboard/2.6/USER_GUIDE/index.html           |  26 +--
 docs/dashboard/2.6/api/api/index.html              |  26 +--
 docs/dashboard/2.6/back-end-tests/index.html       |  26 +--
 docs/dashboard/2.6/deploy-with-docker/index.html   |  26 +--
 docs/dashboard/2.6/deploy-with-rpm/index.html      |  26 +--
 docs/dashboard/2.6/deploy/index.html               |  26 +--
 docs/dashboard/2.6/develop/index.html              |  26 +--
 docs/dashboard/2.6/front-end-e2e/index.html        |  26 +--
 docs/dashboard/2.6/tags/index.html                 |  26 +--
 docs/dashboard/2.7.1/FAQ/index.html                |  26 +--
 docs/dashboard/2.7.1/I18N_USER_GUIDE/index.html    |  26 +--
 docs/dashboard/2.7.1/IGNORE_DOC/index.html         |  26 +--
 .../2.7.1/IMPORT_OPENAPI_USER_GUIDE/index.html     |  26 +--
 docs/dashboard/2.7.1/USER_GUIDE/index.html         |  26 +--
 docs/dashboard/2.7.1/api/api/index.html            |  26 +--
 docs/dashboard/2.7.1/back-end-tests/index.html     |  26 +--
 docs/dashboard/2.7.1/deploy-with-docker/index.html |  26 +--
 docs/dashboard/2.7.1/deploy-with-rpm/index.html    |  26 +--
 docs/dashboard/2.7.1/deploy/index.html             |  26 +--
 docs/dashboard/2.7.1/develop/index.html            |  26 +--
 docs/dashboard/2.7.1/front-end-e2e/index.html      |  26 +--
 docs/dashboard/2.7.1/tags/index.html               |  26 +--
 docs/dashboard/2.7/FAQ/index.html                  |  26 +--
 docs/dashboard/2.7/I18N_USER_GUIDE/index.html      |  26 +--
 docs/dashboard/2.7/IGNORE_DOC/index.html           |  26 +--
 .../2.7/IMPORT_OPENAPI_USER_GUIDE/index.html       |  26 +--
 docs/dashboard/2.7/USER_GUIDE/index.html           |  26 +--
 docs/dashboard/2.7/api/api/index.html              |  26 +--
 docs/dashboard/2.7/back-end-tests/index.html       |  26 +--
 docs/dashboard/2.7/deploy-with-docker/index.html   |  26 +--
 docs/dashboard/2.7/deploy-with-rpm/index.html      |  26 +--
 docs/dashboard/2.7/deploy/index.html               |  26 +--
 docs/dashboard/2.7/develop/index.html              |  26 +--
 docs/dashboard/2.7/front-end-e2e/index.html        |  26 +--
 docs/dashboard/2.7/tags/index.html                 |  26 +--
 docs/dashboard/2.8/FAQ/index.html                  |  26 +--
 docs/dashboard/2.8/I18N_USER_GUIDE/index.html      |  26 +--
 docs/dashboard/2.8/IGNORE_DOC/index.html           |  26 +--
 .../2.8/IMPORT_OPENAPI_USER_GUIDE/index.html       |  26 +--
 docs/dashboard/2.8/USER_GUIDE/index.html           |  26 +--
 docs/dashboard/2.8/api/api/index.html              |  26 +--
 docs/dashboard/2.8/back-end-tests/index.html       |  26 +--
 docs/dashboard/2.8/deploy-with-docker/index.html   |  26 +--
 docs/dashboard/2.8/deploy-with-rpm/index.html      |  26 +--
 docs/dashboard/2.8/deploy/index.html               |  26 +--
 docs/dashboard/2.8/develop/index.html              |  26 +--
 docs/dashboard/2.8/front-end-e2e/index.html        |  26 +--
 docs/dashboard/2.8/tags/index.html                 |  26 +--
 docs/dashboard/FAQ/index.html                      |  26 +--
 docs/dashboard/I18N_USER_GUIDE/index.html          |  26 +--
 docs/dashboard/IGNORE_DOC/index.html               |  26 +--
 .../dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html |  26 +--
 docs/dashboard/USER_GUIDE/index.html               |  26 +--
 docs/dashboard/api/api/index.html                  |  26 +--
 docs/dashboard/back-end-tests/index.html           |  26 +--
 docs/dashboard/deploy-with-docker/index.html       |  26 +--
 docs/dashboard/deploy-with-rpm/index.html          |  26 +--
 docs/dashboard/deploy/index.html                   |  26 +--
 docs/dashboard/develop/index.html                  |  26 +--
 docs/dashboard/front-end-e2e/index.html            |  26 +--
 docs/dashboard/next/FAQ/index.html                 |  26 +--
 docs/dashboard/next/I18N_USER_GUIDE/index.html     |  26 +--
 docs/dashboard/next/IGNORE_DOC/index.html          |  26 +--
 .../next/IMPORT_OPENAPI_USER_GUIDE/index.html      |  26 +--
 docs/dashboard/next/USER_GUIDE/index.html          |  26 +--
 docs/dashboard/next/api/api/index.html             |  26 +--
 docs/dashboard/next/back-end-tests/index.html      |  26 +--
 docs/dashboard/next/deploy-with-docker/index.html  |  26 +--
 docs/dashboard/next/deploy-with-rpm/index.html     |  26 +--
 docs/dashboard/next/deploy/index.html              |  26 +--
 docs/dashboard/next/develop/index.html             |  26 +--
 docs/dashboard/next/front-end-e2e/index.html       |  26 +--
 docs/dashboard/next/install/index.html             |  26 +--
 docs/dashboard/next/tags/index.html                |  26 +--
 docs/dashboard/tags/index.html                     |  26 +--
 docs/docker/IGNORE_DOC/index.html                  |  26 +--
 docs/docker/apisix-2.10.0/IGNORE_DOC/index.html    |  26 +--
 docs/docker/apisix-2.10.0/build/index.html         |  26 +--
 docs/docker/apisix-2.10.0/example/index.html       |  26 +--
 docs/docker/apisix-2.10.0/manual/index.html        |  26 +--
 docs/docker/apisix-2.10.0/tags/index.html          |  26 +--
 docs/docker/apisix-2.9.0/IGNORE_DOC/index.html     |  26 +--
 docs/docker/apisix-2.9.0/build/index.html          |  26 +--
 docs/docker/apisix-2.9.0/example/index.html        |  26 +--
 docs/docker/apisix-2.9.0/manual/index.html         |  26 +--
 docs/docker/apisix-2.9.0/tags/index.html           |  26 +--
 docs/docker/build/index.html                       |  26 +--
 docs/docker/dashboard-2.7.1/IGNORE_DOC/index.html  |  26 +--
 docs/docker/dashboard-2.7.1/build/index.html       |  26 +--
 docs/docker/dashboard-2.7.1/example/index.html     |  26 +--
 docs/docker/dashboard-2.7.1/manual/index.html      |  26 +--
 docs/docker/dashboard-2.7.1/tags/index.html        |  26 +--
 docs/docker/example/index.html                     |  26 +--
 docs/docker/manual/index.html                      |  26 +--
 docs/docker/next/IGNORE_DOC/index.html             |  26 +--
 docs/docker/next/build/index.html                  |  26 +--
 docs/docker/next/example/index.html                |  26 +--
 docs/docker/next/manual/index.html                 |  26 +--
 docs/docker/next/tags/index.html                   |  26 +--
 docs/docker/tags/index.html                        |  26 +--
 docs/general/2fa/index.html                        |  26 +--
 docs/general/committer-guide/index.html            |  26 +--
 docs/general/community/index.html                  |  26 +--
 docs/general/contributor-guide/index.html          |  26 +--
 .../general/integrate-with-project-docs/index.html |  26 +--
 docs/general/release-guide/index.html              |  28 +--
 docs/general/security/index.html                   |  26 +--
 docs/general/subscribe-guide/index.html            |  26 +--
 docs/general/tags/index.html                       |  26 +--
 docs/go-plugin-runner/0.1.0/IGNORE_DOC/index.html  |  26 +--
 .../0.1.0/developer-guide/index.html               |  26 +--
 .../0.1.0/getting-started/index.html               |  26 +--
 docs/go-plugin-runner/0.1.0/tags/index.html        |  26 +--
 docs/go-plugin-runner/IGNORE_DOC/index.html        |  26 +--
 docs/go-plugin-runner/developer-guide/index.html   |  26 +--
 docs/go-plugin-runner/getting-started/index.html   |  26 +--
 docs/go-plugin-runner/next/IGNORE_DOC/index.html   |  26 +--
 .../next/developer-guide/index.html                |  26 +--
 .../next/getting-started/index.html                |  26 +--
 docs/go-plugin-runner/next/tags/index.html         |  26 +--
 docs/go-plugin-runner/tags/index.html              |  26 +--
 docs/helm-chart/FAQ/index.html                     |  26 +--
 docs/helm-chart/IGNORE_DOC/index.html              |  26 +--
 docs/helm-chart/apisix-dashboard/index.html        |  26 +--
 .../apisix-ingress-controller/index.html           |  26 +--
 docs/helm-chart/apisix/index.html                  |  26 +--
 docs/helm-chart/tags/index.html                    |  26 +--
 docs/index.html                                    |  26 +--
 docs/ingress-controller/FAQ/index.html             |  26 +--
 docs/ingress-controller/IGNORE_DOC/index.html      |  26 +--
 .../concepts/annotations/index.html                |  26 +--
 .../concepts/apisix_cluster_config/index.html      |  26 +--
 .../concepts/apisix_route/index.html               |  26 +--
 .../concepts/apisix_tls/index.html                 |  26 +--
 .../concepts/apisix_upstream/index.html            |  26 +--
 docs/ingress-controller/contribute/index.html      |  26 +--
 docs/ingress-controller/deployments/ack/index.html |  26 +--
 docs/ingress-controller/deployments/aws/index.html |  26 +--
 .../deployments/azure/index.html                   |  26 +--
 docs/ingress-controller/deployments/gke/index.html |  26 +--
 .../deployments/k3s-rke/index.html                 |  26 +--
 .../deployments/kubesphere/index.html              |  26 +--
 .../deployments/minikube/index.html                |  26 +--
 docs/ingress-controller/deployments/tke/index.html |  26 +--
 docs/ingress-controller/design/index.html          |  26 +--
 docs/ingress-controller/development/index.html     |  26 +--
 docs/ingress-controller/getting-started/index.html |  26 +--
 .../practices/check-crd-status/index.html          |  26 +--
 docs/ingress-controller/practices/index/index.html |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 docs/ingress-controller/practices/mtls/index.html  |  26 +--
 .../practices/proxy-grpc-service/index.html        |  26 +--
 .../index.html                                     |  26 +--
 .../practices/proxy-the-httpbin-service/index.html |  26 +--
 .../practices/the-hard-way/index.html              |  26 +--
 .../references/apisix_cluster_config/index.html    |  26 +--
 .../references/apisix_route_v1/index.html          |  26 +--
 .../references/apisix_route_v2alpha1/index.html    |  26 +--
 .../references/apisix_route_v2beta1/index.html     |  26 +--
 .../references/apisix_tls/index.html               |  26 +--
 .../references/apisix_upstream/index.html          |  26 +--
 docs/ingress-controller/tags/index.html            |  26 +--
 docs/ingress-controller/upgrade/index.html         |  26 +--
 docs/java-plugin-runner/IGNORE_DOC/index.html      |  26 +--
 docs/java-plugin-runner/development/index.html     |  26 +--
 docs/java-plugin-runner/how-it-works/index.html    |  26 +--
 docs/java-plugin-runner/next/IGNORE_DOC/index.html |  26 +--
 .../java-plugin-runner/next/development/index.html |  26 +--
 .../next/how-it-works/index.html                   |  26 +--
 docs/java-plugin-runner/next/tags/index.html       |  26 +--
 .../index.html                                     |  26 +--
 docs/java-plugin-runner/tags/index.html            |  26 +--
 .../index.html                                     |  26 +--
 docs/python-plugin-runner/IGNORE_DOC/index.html    |  26 +--
 .../developer-guide/index.html                     |  26 +--
 .../getting-started/index.html                     |  26 +--
 .../next/IGNORE_DOC/index.html                     |  26 +--
 .../next/developer-guide/index.html                |  26 +--
 .../next/getting-started/index.html                |  26 +--
 docs/python-plugin-runner/next/tags/index.html     |  26 +--
 docs/python-plugin-runner/tags/index.html          |  26 +--
 downloads/index.html                               |  26 +--
 events/archive/index.html                          |  26 +--
 help/index.html                                    |  26 +--
 index.html                                         |  26 +--
 opensearch.xml                                     |   4 +-
 plugins/index.html                                 |  26 +--
 .../11/15/release-apache-apisix-0.9/index.html     |  26 +--
 .../2019/9/29/release-apache-apisix-0.8/index.html |  26 +--
 .../2019/9/6/release-apache-apisix-0.7/index.html  |  26 +--
 .../2020/1/15/release-apache-apisix-1.0/index.html |  26 +--
 .../10/28/release-apache-apisix-2.0/index.html     |  26 +--
 .../2020/12/1/release-apache-apisix-2.1/index.html |  26 +--
 .../release-apache-apisix-dashboard-2.2/index.html |  26 +--
 .../index.html                                     |  26 +--
 .../2020/2/24/release-apache-apisix-1.1/index.html |  26 +--
 .../release-apache-apisix-dashboard-1.0/index.html |  26 +--
 .../2020/4/20/release-apache-apisix-1.2/index.html |  26 +--
 .../2020/5/26/release-apache-apisix-1.3/index.html |  26 +--
 .../2020/6/30/release-apache-apisix-1.4/index.html |  26 +--
 .../7/20/release-apache-apisix-1.4.1/index.html    |  26 +--
 .../release-apache-apisix-dashboard-1.5/index.html |  26 +--
 .../2020/8/6/release-apache-apisix-1.5/index.html  |  26 +--
 .../release-apache-apisix-dashboard-2.3/index.html |  26 +--
 .../index.html                                     |  26 +--
 .../2021/1/8/release-apache-apisix-2.2/index.html  |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../release-apache-apisix-dashboard-2.4/index.html |  26 +--
 .../2021/2/9/release-apache-apisix-2.3/index.html  |  26 +--
 .../index.html                                     |  26 +--
 .../release-apache-apisix-dashboard-2.5/index.html |  26 +--
 .../2021/3/5/release-apache-apisix-2.4/index.html  |  26 +--
 .../index.html                                     |  26 +--
 .../release-apache-apisix-dashboard-2.6/index.html |  26 +--
 .../2021/4/5/release-apache-apisix-2.5/index.html  |  26 +--
 .../index.html                                     |  26 +--
 .../2021/5/24/release-apache-apisix-2.6/index.html |  26 +--
 .../index.html                                     |  26 +--
 .../release-apache-apisix-dashboard-2.7/index.html |  26 +--
 .../index.html                                     |  26 +--
 .../2021/6/25/release-apache-apisix-2.7/index.html |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../2021/7/27/release-apache-apisix-2.8/index.html |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../2021/8/27/release-apache-apisix-2.9/index.html |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../release-apache-apisix-dashboard-2.8/index.html |  26 +--
 releases/archive/index.html                        |  26 +--
 releases/atom.xml                                  |   4 +-
 releases/index.html                                |  26 +--
 releases/page/2/index.html                         |  26 +--
 releases/page/3/index.html                         |  26 +--
 releases/page/4/index.html                         |  26 +--
 releases/page/5/index.html                         |  26 +--
 releases/rss.xml                                   |   4 +-
 releases/tags/apisix-dashboard/index.html          |  26 +--
 releases/tags/apisix-go-plugin-runner/index.html   |  26 +--
 releases/tags/apisix-ingress-controller/index.html |  26 +--
 releases/tags/apisix-java-plugin-runner/index.html |  26 +--
 .../tags/apisix-python-plugin-runner/index.html    |  26 +--
 releases/tags/apisix/index.html                    |  26 +--
 releases/tags/index.html                           |  26 +--
 search/index.html                                  |  26 +--
 sections/architecture/index.html                   |  22 +-
 sections/benefits/index.html                       |  22 +-
 sections/comparison/index.html                     |  22 +-
 sections/components/arrowAnim/index.html           |  22 +-
 sections/components/eventPosterCard/index.html     |  22 +-
 sections/components/heroCanvas/index.html          |  22 +-
 sections/components/ossCanvas/index.html           |  22 +-
 sections/endcta/index.html                         |  22 +-
 sections/features/index.html                       |  22 +-
 sections/heroSection/index.html                    |  22 +-
 sections/home-events-section/index.html            |  22 +-
 sections/opensourcePromo/index.html                |  22 +-
 showcase/index.html                                |  26 +--
 team/index.html                                    |  26 +--
 zh/404.html                                        |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../Apache-APISIX-Incubator-Journey/index.html     |  26 +--
 .../Apache-APISIX-Kubernetes-Ingress/index.html    |  26 +--
 .../Apache-APISIX-in-China-Mobile-Cloud/index.html |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../Speed-Limiting-With-Apache-APISIX/index.html   |  26 +--
 .../index.html                                     |  26 +--
 zh/articles/The-Appeal-of-OpenSource/index.html    |  26 +--
 .../The-Evolution-of-Apache-APISIX/index.html      |  26 +--
 .../index.html                                     |  26 +--
 zh/articles/archive/index.html                     |  26 +--
 zh/articles/atom.xml                               |  10 +-
 zh/articles/index.html                             |  26 +--
 zh/articles/page/2/index.html                      |  26 +--
 zh/articles/rss.xml                                |  10 +-
 .../{09b17eb5.6c829e5c.js => 09b17eb5.bf916503.js} |   2 +-
 .../{19945770.8bdea342.js => 19945770.72c9af84.js} |   2 +-
 .../{3393d167.ccb9e02e.js => 3393d167.f786ed24.js} |   2 +-
 .../{358566b4.b81679ef.js => 358566b4.8518fe7e.js} |   2 +-
 .../{3dc9f306.faf5eaa3.js => 3dc9f306.16049503.js} |   2 +-
 .../{40fb2fae.92f2d569.js => 40fb2fae.4e896bd2.js} |   2 +-
 .../{4c20006b.3e721caa.js => 4c20006b.302b61f4.js} |   2 +-
 .../{4f9f5708.ca108e32.js => 4f9f5708.990336a4.js} |   2 +-
 .../{50facf8e.1545c9fb.js => 50facf8e.19fcc87f.js} |   2 +-
 .../{542fd41f.ba3c2828.js => 542fd41f.bcf8503f.js} |   2 +-
 .../{5b0fa993.db505634.js => 5b0fa993.e6e90bd8.js} |   2 +-
 .../{601c6eaa.11530f50.js => 601c6eaa.8ec4c35b.js} |   2 +-
 .../{66fbb9c2.dd2618e1.js => 66fbb9c2.d9fa57a1.js} |   2 +-
 .../{7af3052c.952737bb.js => 7af3052c.8a2c6762.js} |   2 +-
 .../{80791de8.54ae3221.js => 80791de8.92adeb9c.js} |   2 +-
 .../{8e784bf3.273a1316.js => 8e784bf3.cdbf12ed.js} |   2 +-
 .../{8f700fa6.41a72655.js => 8f700fa6.6257c775.js} |   2 +-
 .../{90fc8a94.a6c7dc33.js => 90fc8a94.4cd9ff07.js} |   2 +-
 .../{941960b1.da3e8397.js => 941960b1.d47fbdf2.js} |   2 +-
 .../{adbb350b.89ab1342.js => adbb350b.9aa807e5.js} |   2 +-
 .../{d18db9b0.a1fddecb.js => d18db9b0.9a86c3e4.js} |   2 +-
 zh/assets/js/main.143867ea.js                      |   2 -
 zh/assets/js/main.a135014a.js                      |   2 +
 .../assets/js/main.a135014a.js.LICENSE.txt         |   0
 ...e~main.0f2bbcb8.js => runtime~main.0c92c2e4.js} |   2 +-
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../21/run-ingress-apisix-on-amazon-eks/index.html |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 zh/blog/2021/05/24/Tencent-Games/index.html        |  26 +--
 .../05/25/Apache APISIX 2.6.0-Release/index.html   |  26 +--
 .../index.html                                     |  26 +--
 zh/blog/2021/06/06/apisix-two-years/index.html     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../06/28/why-we-need-Apache-APISIX/index.html     |  26 +--
 .../06/29/release-apache-apisix-2.7/index.html     |  26 +--
 .../etcd3-support-HTTP-access-perfectly/index.html |  26 +--
 .../07/06/celebrate-200-contributors/index.html    |  26 +--
 .../index.html                                     |  26 +--
 .../2021/07/21/Apache-APISIX-Kubernetes/index.html |  26 +--
 zh/blog/2021/07/25/apachecon-asia/index.html       |  26 +--
 .../index.html                                     |  26 +--
 .../07/28/release-apache-apisix-2.8/index.html     |  26 +--
 zh/blog/2021/08/05/Kong-to-APISIX/index.html       |  26 +--
 .../index.html                                     |  26 +--
 .../Apache-APISIX-in-China-Mobile-Cloud/index.html |  26 +--
 .../08/09/Apache-APISIX-in-Quliankeji/index.html   |  26 +--
 zh/blog/2021/08/10/apisix-nginx/index.html         |  26 +--
 .../2021/08/11/interview-TuZhengsong/index.html    |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 zh/blog/2021/08/17/interview-airwallex/index.html  |  26 +--
 .../Auth-with-Casbin-in-Apache-APISIX/index.html   |  26 +--
 .../08/19/go-makes-Apache-APISIX-better/index.html |  26 +--
 zh/blog/2021/08/19/weekly-report/index.html        |  26 +--
 zh/blog/2021/08/21/shanghai-meetup/index.html      |  26 +--
 zh/blog/2021/08/23/ApacheCon-Asia-2021/index.html  |  26 +--
 zh/blog/2021/08/23/weekly-report/index.html        |  26 +--
 .../2021/08/24/shanghai-meetup-recap/index.html    |  26 +--
 .../Auth-with-Casbin-in-Apache-APISIX/index.html   |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../08/27/release-apache-apisix-2.9/index.html     |  26 +--
 zh/blog/2021/08/30/Ingress-Meeting/index.html      |  26 +--
 zh/blog/2021/08/30/weekly-report/index.html        |  26 +--
 .../index.html"                                    |  26 +--
 .../index.html                                     |  26 +--
 .../2021/09/07/how-to-use-apisix-auth/index.html   |  26 +--
 zh/blog/2021/09/07/iQIYI-usercase/index.html       |  26 +--
 .../index.html                                     |  26 +--
 .../09/13/china-mobile-cloud-usercase/index.html   |  26 +--
 zh/blog/2021/09/14/youzan/index.html               |  26 +--
 zh/blog/2021/09/15/weekly-report/index.html        |  26 +--
 zh/blog/2021/09/16/tencent-cloud/index.html        |  26 +--
 zh/blog/2021/09/18/xiaodian-usercase/index.html    |  26 +--
 zh/blog/2021/09/24/youpaicloud-usercase/index.html |  26 +--
 zh/blog/2021/09/28/WPS-usercase/index.html         |  26 +--
 .../09/29/release-apache-apisix-2.10/index.html    |  26 +--
 zh/blog/2021/09/30/weekly-report/index.html        |  26 +--
 zh/blog/2021/10/01/openEuler/index.html            |  26 +--
 .../2021/10/09/apisix-ingress-techblog/index.html  |  26 +--
 .../index.html                                     |  26 +--
 zh/blog/2021/10/14/weekly-report-1014/index.html   |  26 +--
 zh/blog/2021/10/18/meetup/index.html               |  26 +--
 .../2021/10/22/cert-manager-in-ingress/index.html  |  26 +--
 zh/blog/2021/10/26/APISIX-Ingress/index.html       |  26 +--
 zh/blog/2021/10/29/Extension-guide/index.html      |  26 +--
 zh/blog/2021/11/02/weekly-report-1031/index.html   |  26 +--
 zh/blog/2021/11/03/airwallex-usercase/index.html   |  26 +--
 zh/blog/2021/11/04/skywalking/index.html           |  26 +--
 zh/blog/2021/11/12/apisix-datadog/index.html       |  26 +--
 zh/blog/2021/11/16/weekly-report-1114/index.html   |  26 +--
 zh/blog/2021/11/17/dapr-with-apisix/index.html     |  26 +--
 zh/blog/archive/index.html                         |  26 +--
 zh/blog/atom.xml                                   |   4 +-
 zh/blog/index.html                                 |  26 +--
 zh/blog/page/2/index.html                          |  26 +--
 zh/blog/page/3/index.html                          |  26 +--
 zh/blog/page/4/index.html                          |  26 +--
 zh/blog/page/5/index.html                          |  26 +--
 zh/blog/page/6/index.html                          |  26 +--
 zh/blog/page/7/index.html                          |  26 +--
 zh/blog/page/8/index.html                          |  26 +--
 zh/blog/rss.xml                                    |   4 +-
 zh/blog/tags/community/index.html                  |  26 +--
 zh/blog/tags/events/index.html                     |  26 +--
 zh/blog/tags/index.html                            |  26 +--
 zh/blog/tags/interview/index.html                  |  26 +--
 zh/blog/tags/practical-case/index.html             |  26 +--
 zh/blog/tags/release/index.html                    |  26 +--
 zh/blog/tags/security/index.html                   |  26 +--
 zh/blog/tags/technology/index.html                 |  26 +--
 zh/blog/tags/user-case/index.html                  |  26 +--
 zh/data/events.json                                |  18 +-
 zh/data/plugin.json                                | 204 -----------------
 zh/data/plugins.json                               | 204 +++++++++++++++++
 zh/data/team.json                                  | 246 ---------------------
 zh/docs/apisix/2.4/FAQ/index.html                  |  26 +--
 zh/docs/apisix/2.4/IGNORE_DOC/index.html           |  26 +--
 zh/docs/apisix/2.4/admin-api/index.html            |  26 +--
 zh/docs/apisix/2.4/architecture-design/index.html  |  26 +--
 zh/docs/apisix/2.4/aws/index.html                  |  26 +--
 zh/docs/apisix/2.4/batch-processor/index.html      |  26 +--
 zh/docs/apisix/2.4/benchmark/index.html            |  26 +--
 zh/docs/apisix/2.4/control-api/index.html          |  26 +--
 .../2.4/customize-nginx-configuration/index.html   |  26 +--
 zh/docs/apisix/2.4/debug-function/index.html       |  26 +--
 zh/docs/apisix/2.4/discovery/consul_kv/index.html  |  26 +--
 zh/docs/apisix/2.4/discovery/index.html            |  26 +--
 zh/docs/apisix/2.4/dns/index.html                  |  26 +--
 .../index.html                                     |  26 +--
 zh/docs/apisix/2.4/getting-started/index.html      |  26 +--
 zh/docs/apisix/2.4/grpc-proxy/index.html           |  26 +--
 zh/docs/apisix/2.4/health-check/index.html         |  26 +--
 zh/docs/apisix/2.4/how-to-build/index.html         |  26 +--
 zh/docs/apisix/2.4/https/index.html                |  26 +--
 zh/docs/apisix/2.4/install-dependencies/index.html |  26 +--
 zh/docs/apisix/2.4/mtls/index.html                 |  26 +--
 zh/docs/apisix/2.4/plugin-develop/index.html       |  26 +--
 zh/docs/apisix/2.4/plugin-interceptors/index.html  |  26 +--
 zh/docs/apisix/2.4/plugins/api-breaker/index.html  |  26 +--
 .../apisix/2.4/plugins/authz-keycloak/index.html   |  26 +--
 zh/docs/apisix/2.4/plugins/basic-auth/index.html   |  26 +--
 .../apisix/2.4/plugins/batch-requests/index.html   |  26 +--
 .../2.4/plugins/consumer-restriction/index.html    |  26 +--
 zh/docs/apisix/2.4/plugins/cors/index.html         |  26 +--
 zh/docs/apisix/2.4/plugins/dubbo-proxy/index.html  |  26 +--
 zh/docs/apisix/2.4/plugins/echo/index.html         |  26 +--
 .../apisix/2.4/plugins/error-log-logger/index.html |  26 +--
 .../apisix/2.4/plugins/fault-injection/index.html  |  26 +--
 .../apisix/2.4/plugins/grpc-transcode/index.html   |  26 +--
 zh/docs/apisix/2.4/plugins/hmac-auth/index.html    |  26 +--
 zh/docs/apisix/2.4/plugins/http-logger/index.html  |  26 +--
 zh/docs/apisix/2.4/plugins/index.html              |  26 +--
 .../apisix/2.4/plugins/ip-restriction/index.html   |  26 +--
 zh/docs/apisix/2.4/plugins/jwt-auth/index.html     |  26 +--
 zh/docs/apisix/2.4/plugins/kafka-logger/index.html |  26 +--
 zh/docs/apisix/2.4/plugins/key-auth/index.html     |  26 +--
 zh/docs/apisix/2.4/plugins/limit-conn/index.html   |  26 +--
 zh/docs/apisix/2.4/plugins/limit-count/index.html  |  26 +--
 zh/docs/apisix/2.4/plugins/limit-req/index.html    |  26 +--
 zh/docs/apisix/2.4/plugins/log-rotate/index.html   |  26 +--
 zh/docs/apisix/2.4/plugins/mqtt-proxy/index.html   |  26 +--
 zh/docs/apisix/2.4/plugins/node-status/index.html  |  26 +--
 .../apisix/2.4/plugins/openid-connect/index.html   |  26 +--
 zh/docs/apisix/2.4/plugins/prometheus/index.html   |  26 +--
 zh/docs/apisix/2.4/plugins/proxy-cache/index.html  |  26 +--
 zh/docs/apisix/2.4/plugins/proxy-mirror/index.html |  26 +--
 .../apisix/2.4/plugins/proxy-rewrite/index.html    |  26 +--
 zh/docs/apisix/2.4/plugins/redirect/index.html     |  26 +--
 .../2.4/plugins/referer-restriction/index.html     |  26 +--
 zh/docs/apisix/2.4/plugins/request-id/index.html   |  26 +--
 .../2.4/plugins/request-validation/index.html      |  26 +--
 .../apisix/2.4/plugins/response-rewrite/index.html |  26 +--
 zh/docs/apisix/2.4/plugins/server-info/index.html  |  26 +--
 zh/docs/apisix/2.4/plugins/serverless/index.html   |  26 +--
 zh/docs/apisix/2.4/plugins/skywalking/index.html   |  26 +--
 zh/docs/apisix/2.4/plugins/sls-logger/index.html   |  26 +--
 zh/docs/apisix/2.4/plugins/syslog/index.html       |  26 +--
 zh/docs/apisix/2.4/plugins/tcp-logger/index.html   |  26 +--
 .../apisix/2.4/plugins/traffic-split/index.html    |  26 +--
 zh/docs/apisix/2.4/plugins/udp-logger/index.html   |  26 +--
 zh/docs/apisix/2.4/plugins/uri-blocker/index.html  |  26 +--
 zh/docs/apisix/2.4/plugins/wolf-rbac/index.html    |  26 +--
 zh/docs/apisix/2.4/plugins/zipkin/index.html       |  26 +--
 zh/docs/apisix/2.4/powered-by/index.html           |  26 +--
 zh/docs/apisix/2.4/profile/index.html              |  26 +--
 zh/docs/apisix/2.4/router-radixtree/index.html     |  26 +--
 zh/docs/apisix/2.4/stand-alone/index.html          |  26 +--
 zh/docs/apisix/2.4/stream-proxy/index.html         |  26 +--
 zh/docs/apisix/2.4/tags/index.html                 |  26 +--
 zh/docs/apisix/2.5/FAQ/index.html                  |  26 +--
 zh/docs/apisix/2.5/IGNORE_DOC/index.html           |  26 +--
 zh/docs/apisix/2.5/admin-api/index.html            |  26 +--
 .../2.5/architecture-design/apisix/index.html      |  26 +--
 .../2.5/architecture-design/consumer/index.html    |  26 +--
 .../2.5/architecture-design/debug-mode/index.html  |  26 +--
 .../2.5/architecture-design/global-rule/index.html |  26 +--
 zh/docs/apisix/2.5/architecture-design/index.html  |  26 +--
 .../architecture-design/plugin-config/index.html   |  26 +--
 .../2.5/architecture-design/plugin/index.html      |  26 +--
 .../2.5/architecture-design/route/index.html       |  26 +--
 .../2.5/architecture-design/router/index.html      |  26 +--
 .../2.5/architecture-design/script/index.html      |  26 +--
 .../2.5/architecture-design/service/index.html     |  26 +--
 .../2.5/architecture-design/upstream/index.html    |  26 +--
 zh/docs/apisix/2.5/aws/index.html                  |  26 +--
 zh/docs/apisix/2.5/batch-processor/index.html      |  26 +--
 zh/docs/apisix/2.5/benchmark/index.html            |  26 +--
 zh/docs/apisix/2.5/control-api/index.html          |  26 +--
 .../2.5/customize-nginx-configuration/index.html   |  26 +--
 zh/docs/apisix/2.5/debug-function/index.html       |  26 +--
 zh/docs/apisix/2.5/discovery/consul_kv/index.html  |  26 +--
 zh/docs/apisix/2.5/discovery/dns/index.html        |  26 +--
 zh/docs/apisix/2.5/discovery/index.html            |  26 +--
 zh/docs/apisix/2.5/dns/index.html                  |  26 +--
 .../index.html                                     |  26 +--
 zh/docs/apisix/2.5/getting-started/index.html      |  26 +--
 zh/docs/apisix/2.5/grpc-proxy/index.html           |  26 +--
 zh/docs/apisix/2.5/health-check/index.html         |  26 +--
 zh/docs/apisix/2.5/how-to-build/index.html         |  26 +--
 zh/docs/apisix/2.5/https/index.html                |  26 +--
 zh/docs/apisix/2.5/install-dependencies/index.html |  26 +--
 zh/docs/apisix/2.5/mtls/index.html                 |  26 +--
 zh/docs/apisix/2.5/plugin-develop/index.html       |  26 +--
 zh/docs/apisix/2.5/plugin-interceptors/index.html  |  26 +--
 zh/docs/apisix/2.5/plugins/api-breaker/index.html  |  26 +--
 .../apisix/2.5/plugins/authz-keycloak/index.html   |  26 +--
 zh/docs/apisix/2.5/plugins/basic-auth/index.html   |  26 +--
 .../apisix/2.5/plugins/batch-requests/index.html   |  26 +--
 .../2.5/plugins/consumer-restriction/index.html    |  26 +--
 zh/docs/apisix/2.5/plugins/cors/index.html         |  26 +--
 zh/docs/apisix/2.5/plugins/dubbo-proxy/index.html  |  26 +--
 zh/docs/apisix/2.5/plugins/echo/index.html         |  26 +--
 .../apisix/2.5/plugins/error-log-logger/index.html |  26 +--
 .../apisix/2.5/plugins/fault-injection/index.html  |  26 +--
 .../apisix/2.5/plugins/grpc-transcode/index.html   |  26 +--
 zh/docs/apisix/2.5/plugins/hmac-auth/index.html    |  26 +--
 zh/docs/apisix/2.5/plugins/http-logger/index.html  |  26 +--
 zh/docs/apisix/2.5/plugins/index.html              |  26 +--
 .../apisix/2.5/plugins/ip-restriction/index.html   |  26 +--
 zh/docs/apisix/2.5/plugins/jwt-auth/index.html     |  26 +--
 zh/docs/apisix/2.5/plugins/kafka-logger/index.html |  26 +--
 zh/docs/apisix/2.5/plugins/key-auth/index.html     |  26 +--
 zh/docs/apisix/2.5/plugins/limit-conn/index.html   |  26 +--
 zh/docs/apisix/2.5/plugins/limit-count/index.html  |  26 +--
 zh/docs/apisix/2.5/plugins/limit-req/index.html    |  26 +--
 zh/docs/apisix/2.5/plugins/log-rotate/index.html   |  26 +--
 zh/docs/apisix/2.5/plugins/mqtt-proxy/index.html   |  26 +--
 zh/docs/apisix/2.5/plugins/node-status/index.html  |  26 +--
 .../apisix/2.5/plugins/openid-connect/index.html   |  26 +--
 zh/docs/apisix/2.5/plugins/prometheus/index.html   |  26 +--
 zh/docs/apisix/2.5/plugins/proxy-cache/index.html  |  26 +--
 zh/docs/apisix/2.5/plugins/proxy-mirror/index.html |  26 +--
 .../apisix/2.5/plugins/proxy-rewrite/index.html    |  26 +--
 zh/docs/apisix/2.5/plugins/redirect/index.html     |  26 +--
 .../2.5/plugins/referer-restriction/index.html     |  26 +--
 zh/docs/apisix/2.5/plugins/request-id/index.html   |  26 +--
 .../2.5/plugins/request-validation/index.html      |  26 +--
 .../apisix/2.5/plugins/response-rewrite/index.html |  26 +--
 zh/docs/apisix/2.5/plugins/server-info/index.html  |  26 +--
 zh/docs/apisix/2.5/plugins/serverless/index.html   |  26 +--
 zh/docs/apisix/2.5/plugins/skywalking/index.html   |  26 +--
 zh/docs/apisix/2.5/plugins/sls-logger/index.html   |  26 +--
 zh/docs/apisix/2.5/plugins/syslog/index.html       |  26 +--
 zh/docs/apisix/2.5/plugins/tcp-logger/index.html   |  26 +--
 .../apisix/2.5/plugins/traffic-split/index.html    |  26 +--
 zh/docs/apisix/2.5/plugins/udp-logger/index.html   |  26 +--
 zh/docs/apisix/2.5/plugins/uri-blocker/index.html  |  26 +--
 zh/docs/apisix/2.5/plugins/wolf-rbac/index.html    |  26 +--
 zh/docs/apisix/2.5/plugins/zipkin/index.html       |  26 +--
 zh/docs/apisix/2.5/powered-by/index.html           |  26 +--
 zh/docs/apisix/2.5/profile/index.html              |  26 +--
 zh/docs/apisix/2.5/router-radixtree/index.html     |  26 +--
 zh/docs/apisix/2.5/stand-alone/index.html          |  26 +--
 zh/docs/apisix/2.5/stream-proxy/index.html         |  26 +--
 zh/docs/apisix/2.5/tags/index.html                 |  26 +--
 zh/docs/apisix/2.6/FAQ/index.html                  |  26 +--
 zh/docs/apisix/2.6/IGNORE_DOC/index.html           |  26 +--
 zh/docs/apisix/2.6/admin-api/index.html            |  26 +--
 .../2.6/architecture-design/apisix/index.html      |  26 +--
 .../2.6/architecture-design/consumer/index.html    |  26 +--
 .../2.6/architecture-design/debug-mode/index.html  |  26 +--
 .../2.6/architecture-design/global-rule/index.html |  26 +--
 zh/docs/apisix/2.6/architecture-design/index.html  |  26 +--
 .../architecture-design/plugin-config/index.html   |  26 +--
 .../2.6/architecture-design/plugin/index.html      |  26 +--
 .../2.6/architecture-design/route/index.html       |  26 +--
 .../2.6/architecture-design/router/index.html      |  26 +--
 .../2.6/architecture-design/script/index.html      |  26 +--
 .../2.6/architecture-design/service/index.html     |  26 +--
 .../2.6/architecture-design/upstream/index.html    |  26 +--
 zh/docs/apisix/2.6/aws/index.html                  |  26 +--
 zh/docs/apisix/2.6/batch-processor/index.html      |  26 +--
 zh/docs/apisix/2.6/benchmark/index.html            |  26 +--
 zh/docs/apisix/2.6/control-api/index.html          |  26 +--
 .../2.6/customize-nginx-configuration/index.html   |  26 +--
 zh/docs/apisix/2.6/debug-function/index.html       |  26 +--
 zh/docs/apisix/2.6/discovery/consul_kv/index.html  |  26 +--
 zh/docs/apisix/2.6/discovery/dns/index.html        |  26 +--
 zh/docs/apisix/2.6/discovery/eureka/index.html     |  26 +--
 zh/docs/apisix/2.6/discovery/index.html            |  26 +--
 zh/docs/apisix/2.6/discovery/nacos/index.html      |  26 +--
 zh/docs/apisix/2.6/dns/index.html                  |  26 +--
 .../index.html                                     |  26 +--
 zh/docs/apisix/2.6/getting-started/index.html      |  26 +--
 zh/docs/apisix/2.6/grpc-proxy/index.html           |  26 +--
 zh/docs/apisix/2.6/health-check/index.html         |  26 +--
 zh/docs/apisix/2.6/how-to-build/index.html         |  26 +--
 zh/docs/apisix/2.6/https/index.html                |  26 +--
 zh/docs/apisix/2.6/install-dependencies/index.html |  26 +--
 zh/docs/apisix/2.6/mtls/index.html                 |  26 +--
 zh/docs/apisix/2.6/plugin-develop/index.html       |  26 +--
 zh/docs/apisix/2.6/plugin-interceptors/index.html  |  26 +--
 zh/docs/apisix/2.6/plugins/api-breaker/index.html  |  26 +--
 .../apisix/2.6/plugins/authz-keycloak/index.html   |  26 +--
 zh/docs/apisix/2.6/plugins/basic-auth/index.html   |  26 +--
 .../apisix/2.6/plugins/batch-requests/index.html   |  26 +--
 .../2.6/plugins/consumer-restriction/index.html    |  26 +--
 zh/docs/apisix/2.6/plugins/cors/index.html         |  26 +--
 zh/docs/apisix/2.6/plugins/dubbo-proxy/index.html  |  26 +--
 zh/docs/apisix/2.6/plugins/echo/index.html         |  26 +--
 .../apisix/2.6/plugins/error-log-logger/index.html |  26 +--
 .../apisix/2.6/plugins/fault-injection/index.html  |  26 +--
 .../apisix/2.6/plugins/grpc-transcode/index.html   |  26 +--
 zh/docs/apisix/2.6/plugins/hmac-auth/index.html    |  26 +--
 zh/docs/apisix/2.6/plugins/http-logger/index.html  |  26 +--
 zh/docs/apisix/2.6/plugins/index.html              |  26 +--
 .../apisix/2.6/plugins/ip-restriction/index.html   |  26 +--
 zh/docs/apisix/2.6/plugins/jwt-auth/index.html     |  26 +--
 zh/docs/apisix/2.6/plugins/kafka-logger/index.html |  26 +--
 zh/docs/apisix/2.6/plugins/key-auth/index.html     |  26 +--
 zh/docs/apisix/2.6/plugins/limit-conn/index.html   |  26 +--
 zh/docs/apisix/2.6/plugins/limit-count/index.html  |  26 +--
 zh/docs/apisix/2.6/plugins/limit-req/index.html    |  26 +--
 zh/docs/apisix/2.6/plugins/log-rotate/index.html   |  26 +--
 zh/docs/apisix/2.6/plugins/mqtt-proxy/index.html   |  26 +--
 zh/docs/apisix/2.6/plugins/node-status/index.html  |  26 +--
 .../apisix/2.6/plugins/openid-connect/index.html   |  26 +--
 zh/docs/apisix/2.6/plugins/prometheus/index.html   |  26 +--
 zh/docs/apisix/2.6/plugins/proxy-cache/index.html  |  26 +--
 zh/docs/apisix/2.6/plugins/proxy-mirror/index.html |  26 +--
 .../apisix/2.6/plugins/proxy-rewrite/index.html    |  26 +--
 zh/docs/apisix/2.6/plugins/redirect/index.html     |  26 +--
 .../2.6/plugins/referer-restriction/index.html     |  26 +--
 zh/docs/apisix/2.6/plugins/request-id/index.html   |  26 +--
 .../2.6/plugins/request-validation/index.html      |  26 +--
 .../apisix/2.6/plugins/response-rewrite/index.html |  26 +--
 zh/docs/apisix/2.6/plugins/server-info/index.html  |  26 +--
 zh/docs/apisix/2.6/plugins/serverless/index.html   |  26 +--
 zh/docs/apisix/2.6/plugins/skywalking/index.html   |  26 +--
 zh/docs/apisix/2.6/plugins/sls-logger/index.html   |  26 +--
 zh/docs/apisix/2.6/plugins/syslog/index.html       |  26 +--
 zh/docs/apisix/2.6/plugins/tcp-logger/index.html   |  26 +--
 .../apisix/2.6/plugins/traffic-split/index.html    |  26 +--
 zh/docs/apisix/2.6/plugins/udp-logger/index.html   |  26 +--
 zh/docs/apisix/2.6/plugins/uri-blocker/index.html  |  26 +--
 zh/docs/apisix/2.6/plugins/wolf-rbac/index.html    |  26 +--
 zh/docs/apisix/2.6/plugins/zipkin/index.html       |  26 +--
 zh/docs/apisix/2.6/powered-by/index.html           |  26 +--
 zh/docs/apisix/2.6/profile/index.html              |  26 +--
 zh/docs/apisix/2.6/router-radixtree/index.html     |  26 +--
 zh/docs/apisix/2.6/stand-alone/index.html          |  26 +--
 zh/docs/apisix/2.6/stream-proxy/index.html         |  26 +--
 zh/docs/apisix/2.6/tags/index.html                 |  26 +--
 zh/docs/apisix/2.7/FAQ/index.html                  |  26 +--
 zh/docs/apisix/2.7/IGNORE_DOC/index.html           |  26 +--
 zh/docs/apisix/2.7/admin-api/index.html            |  26 +--
 .../2.7/architecture-design/apisix/index.html      |  26 +--
 .../2.7/architecture-design/consumer/index.html    |  26 +--
 .../2.7/architecture-design/debug-mode/index.html  |  26 +--
 .../2.7/architecture-design/global-rule/index.html |  26 +--
 zh/docs/apisix/2.7/architecture-design/index.html  |  26 +--
 .../architecture-design/plugin-config/index.html   |  26 +--
 .../2.7/architecture-design/plugin/index.html      |  26 +--
 .../2.7/architecture-design/route/index.html       |  26 +--
 .../2.7/architecture-design/router/index.html      |  26 +--
 .../2.7/architecture-design/script/index.html      |  26 +--
 .../2.7/architecture-design/service/index.html     |  26 +--
 .../2.7/architecture-design/upstream/index.html    |  26 +--
 zh/docs/apisix/2.7/aws/index.html                  |  26 +--
 zh/docs/apisix/2.7/batch-processor/index.html      |  26 +--
 zh/docs/apisix/2.7/benchmark/index.html            |  26 +--
 zh/docs/apisix/2.7/certificate/index.html          |  26 +--
 zh/docs/apisix/2.7/control-api/index.html          |  26 +--
 .../2.7/customize-nginx-configuration/index.html   |  26 +--
 zh/docs/apisix/2.7/debug-function/index.html       |  26 +--
 zh/docs/apisix/2.7/discovery/consul_kv/index.html  |  26 +--
 zh/docs/apisix/2.7/discovery/dns/index.html        |  26 +--
 zh/docs/apisix/2.7/discovery/eureka/index.html     |  26 +--
 zh/docs/apisix/2.7/discovery/index.html            |  26 +--
 zh/docs/apisix/2.7/discovery/nacos/index.html      |  26 +--
 zh/docs/apisix/2.7/dns/index.html                  |  26 +--
 .../index.html                                     |  26 +--
 zh/docs/apisix/2.7/external-plugin/index.html      |  26 +--
 zh/docs/apisix/2.7/getting-started/index.html      |  26 +--
 zh/docs/apisix/2.7/grpc-proxy/index.html           |  26 +--
 zh/docs/apisix/2.7/health-check/index.html         |  26 +--
 zh/docs/apisix/2.7/how-to-build/index.html         |  26 +--
 zh/docs/apisix/2.7/https/index.html                |  26 +--
 zh/docs/apisix/2.7/install-dependencies/index.html |  26 +--
 zh/docs/apisix/2.7/mtls/index.html                 |  26 +--
 zh/docs/apisix/2.7/plugin-develop/index.html       |  26 +--
 zh/docs/apisix/2.7/plugin-interceptors/index.html  |  26 +--
 zh/docs/apisix/2.7/plugins/api-breaker/index.html  |  26 +--
 .../apisix/2.7/plugins/authz-keycloak/index.html   |  26 +--
 zh/docs/apisix/2.7/plugins/basic-auth/index.html   |  26 +--
 .../apisix/2.7/plugins/batch-requests/index.html   |  26 +--
 .../apisix/2.7/plugins/client-control/index.html   |  26 +--
 .../2.7/plugins/consumer-restriction/index.html    |  26 +--
 zh/docs/apisix/2.7/plugins/cors/index.html         |  26 +--
 zh/docs/apisix/2.7/plugins/dubbo-proxy/index.html  |  26 +--
 zh/docs/apisix/2.7/plugins/echo/index.html         |  26 +--
 .../apisix/2.7/plugins/error-log-logger/index.html |  26 +--
 .../2.7/plugins/ext-plugin-post-req/index.html     |  26 +--
 .../2.7/plugins/ext-plugin-pre-req/index.html      |  26 +--
 .../apisix/2.7/plugins/fault-injection/index.html  |  26 +--
 .../apisix/2.7/plugins/grpc-transcode/index.html   |  26 +--
 zh/docs/apisix/2.7/plugins/hmac-auth/index.html    |  26 +--
 zh/docs/apisix/2.7/plugins/http-logger/index.html  |  26 +--
 zh/docs/apisix/2.7/plugins/index.html              |  26 +--
 .../apisix/2.7/plugins/ip-restriction/index.html   |  26 +--
 zh/docs/apisix/2.7/plugins/jwt-auth/index.html     |  26 +--
 zh/docs/apisix/2.7/plugins/kafka-logger/index.html |  26 +--
 zh/docs/apisix/2.7/plugins/key-auth/index.html     |  26 +--
 zh/docs/apisix/2.7/plugins/limit-conn/index.html   |  26 +--
 zh/docs/apisix/2.7/plugins/limit-count/index.html  |  26 +--
 zh/docs/apisix/2.7/plugins/limit-req/index.html    |  26 +--
 zh/docs/apisix/2.7/plugins/log-rotate/index.html   |  26 +--
 zh/docs/apisix/2.7/plugins/mqtt-proxy/index.html   |  26 +--
 zh/docs/apisix/2.7/plugins/node-status/index.html  |  26 +--
 .../apisix/2.7/plugins/openid-connect/index.html   |  26 +--
 zh/docs/apisix/2.7/plugins/prometheus/index.html   |  26 +--
 zh/docs/apisix/2.7/plugins/proxy-cache/index.html  |  26 +--
 zh/docs/apisix/2.7/plugins/proxy-mirror/index.html |  26 +--
 .../apisix/2.7/plugins/proxy-rewrite/index.html    |  26 +--
 zh/docs/apisix/2.7/plugins/redirect/index.html     |  26 +--
 .../2.7/plugins/referer-restriction/index.html     |  26 +--
 zh/docs/apisix/2.7/plugins/request-id/index.html   |  26 +--
 .../2.7/plugins/request-validation/index.html      |  26 +--
 .../apisix/2.7/plugins/response-rewrite/index.html |  26 +--
 zh/docs/apisix/2.7/plugins/server-info/index.html  |  26 +--
 zh/docs/apisix/2.7/plugins/serverless/index.html   |  26 +--
 zh/docs/apisix/2.7/plugins/skywalking/index.html   |  26 +--
 zh/docs/apisix/2.7/plugins/sls-logger/index.html   |  26 +--
 zh/docs/apisix/2.7/plugins/syslog/index.html       |  26 +--
 zh/docs/apisix/2.7/plugins/tcp-logger/index.html   |  26 +--
 .../apisix/2.7/plugins/traffic-split/index.html    |  26 +--
 zh/docs/apisix/2.7/plugins/udp-logger/index.html   |  26 +--
 zh/docs/apisix/2.7/plugins/uri-blocker/index.html  |  26 +--
 zh/docs/apisix/2.7/plugins/wolf-rbac/index.html    |  26 +--
 zh/docs/apisix/2.7/plugins/zipkin/index.html       |  26 +--
 zh/docs/apisix/2.7/powered-by/index.html           |  26 +--
 zh/docs/apisix/2.7/profile/index.html              |  26 +--
 zh/docs/apisix/2.7/router-radixtree/index.html     |  26 +--
 zh/docs/apisix/2.7/stand-alone/index.html          |  26 +--
 zh/docs/apisix/2.7/stream-proxy/index.html         |  26 +--
 zh/docs/apisix/2.7/tags/index.html                 |  26 +--
 zh/docs/apisix/2.8/FAQ/index.html                  |  26 +--
 zh/docs/apisix/2.8/IGNORE_DOC/index.html           |  26 +--
 zh/docs/apisix/2.8/admin-api/index.html            |  26 +--
 .../2.8/architecture-design/apisix/index.html      |  26 +--
 .../2.8/architecture-design/consumer/index.html    |  26 +--
 .../2.8/architecture-design/debug-mode/index.html  |  26 +--
 .../2.8/architecture-design/global-rule/index.html |  26 +--
 zh/docs/apisix/2.8/architecture-design/index.html  |  26 +--
 .../architecture-design/plugin-config/index.html   |  26 +--
 .../2.8/architecture-design/plugin/index.html      |  26 +--
 .../2.8/architecture-design/route/index.html       |  26 +--
 .../2.8/architecture-design/router/index.html      |  26 +--
 .../2.8/architecture-design/script/index.html      |  26 +--
 .../2.8/architecture-design/service/index.html     |  26 +--
 .../2.8/architecture-design/upstream/index.html    |  26 +--
 zh/docs/apisix/2.8/aws/index.html                  |  26 +--
 zh/docs/apisix/2.8/batch-processor/index.html      |  26 +--
 zh/docs/apisix/2.8/benchmark/index.html            |  26 +--
 zh/docs/apisix/2.8/certificate/index.html          |  26 +--
 zh/docs/apisix/2.8/control-api/index.html          |  26 +--
 .../2.8/customize-nginx-configuration/index.html   |  26 +--
 zh/docs/apisix/2.8/debug-function/index.html       |  26 +--
 zh/docs/apisix/2.8/discovery/consul_kv/index.html  |  26 +--
 zh/docs/apisix/2.8/discovery/dns/index.html        |  26 +--
 zh/docs/apisix/2.8/discovery/eureka/index.html     |  26 +--
 zh/docs/apisix/2.8/discovery/index.html            |  26 +--
 zh/docs/apisix/2.8/discovery/nacos/index.html      |  26 +--
 zh/docs/apisix/2.8/dns/index.html                  |  26 +--
 .../index.html                                     |  26 +--
 zh/docs/apisix/2.8/external-plugin/index.html      |  26 +--
 zh/docs/apisix/2.8/getting-started/index.html      |  26 +--
 zh/docs/apisix/2.8/grpc-proxy/index.html           |  26 +--
 zh/docs/apisix/2.8/health-check/index.html         |  26 +--
 zh/docs/apisix/2.8/how-to-build/index.html         |  26 +--
 zh/docs/apisix/2.8/https/index.html                |  26 +--
 zh/docs/apisix/2.8/install-dependencies/index.html |  26 +--
 zh/docs/apisix/2.8/mtls/index.html                 |  26 +--
 zh/docs/apisix/2.8/plugin-develop/index.html       |  26 +--
 zh/docs/apisix/2.8/plugin-interceptors/index.html  |  26 +--
 zh/docs/apisix/2.8/plugins/api-breaker/index.html  |  26 +--
 .../apisix/2.8/plugins/authz-keycloak/index.html   |  26 +--
 zh/docs/apisix/2.8/plugins/basic-auth/index.html   |  26 +--
 .../apisix/2.8/plugins/batch-requests/index.html   |  26 +--
 .../apisix/2.8/plugins/client-control/index.html   |  26 +--
 .../2.8/plugins/consumer-restriction/index.html    |  26 +--
 zh/docs/apisix/2.8/plugins/cors/index.html         |  26 +--
 zh/docs/apisix/2.8/plugins/dubbo-proxy/index.html  |  26 +--
 zh/docs/apisix/2.8/plugins/echo/index.html         |  26 +--
 .../apisix/2.8/plugins/error-log-logger/index.html |  26 +--
 .../2.8/plugins/ext-plugin-post-req/index.html     |  26 +--
 .../2.8/plugins/ext-plugin-pre-req/index.html      |  26 +--
 .../apisix/2.8/plugins/fault-injection/index.html  |  26 +--
 .../apisix/2.8/plugins/grpc-transcode/index.html   |  26 +--
 zh/docs/apisix/2.8/plugins/gzip/index.html         |  26 +--
 zh/docs/apisix/2.8/plugins/hmac-auth/index.html    |  26 +--
 zh/docs/apisix/2.8/plugins/http-logger/index.html  |  26 +--
 zh/docs/apisix/2.8/plugins/index.html              |  26 +--
 .../apisix/2.8/plugins/ip-restriction/index.html   |  26 +--
 zh/docs/apisix/2.8/plugins/jwt-auth/index.html     |  26 +--
 zh/docs/apisix/2.8/plugins/kafka-logger/index.html |  26 +--
 zh/docs/apisix/2.8/plugins/key-auth/index.html     |  26 +--
 zh/docs/apisix/2.8/plugins/limit-conn/index.html   |  26 +--
 zh/docs/apisix/2.8/plugins/limit-count/index.html  |  26 +--
 zh/docs/apisix/2.8/plugins/limit-req/index.html    |  26 +--
 zh/docs/apisix/2.8/plugins/log-rotate/index.html   |  26 +--
 zh/docs/apisix/2.8/plugins/mqtt-proxy/index.html   |  26 +--
 zh/docs/apisix/2.8/plugins/node-status/index.html  |  26 +--
 .../apisix/2.8/plugins/openid-connect/index.html   |  26 +--
 zh/docs/apisix/2.8/plugins/prometheus/index.html   |  26 +--
 zh/docs/apisix/2.8/plugins/proxy-cache/index.html  |  26 +--
 zh/docs/apisix/2.8/plugins/proxy-mirror/index.html |  26 +--
 .../apisix/2.8/plugins/proxy-rewrite/index.html    |  26 +--
 zh/docs/apisix/2.8/plugins/redirect/index.html     |  26 +--
 .../2.8/plugins/referer-restriction/index.html     |  26 +--
 zh/docs/apisix/2.8/plugins/request-id/index.html   |  26 +--
 .../2.8/plugins/request-validation/index.html      |  26 +--
 .../apisix/2.8/plugins/response-rewrite/index.html |  26 +--
 zh/docs/apisix/2.8/plugins/server-info/index.html  |  26 +--
 zh/docs/apisix/2.8/plugins/serverless/index.html   |  26 +--
 zh/docs/apisix/2.8/plugins/skywalking/index.html   |  26 +--
 zh/docs/apisix/2.8/plugins/sls-logger/index.html   |  26 +--
 zh/docs/apisix/2.8/plugins/syslog/index.html       |  26 +--
 zh/docs/apisix/2.8/plugins/tcp-logger/index.html   |  26 +--
 .../apisix/2.8/plugins/traffic-split/index.html    |  26 +--
 .../apisix/2.8/plugins/ua-restriction/index.html   |  26 +--
 zh/docs/apisix/2.8/plugins/udp-logger/index.html   |  26 +--
 zh/docs/apisix/2.8/plugins/uri-blocker/index.html  |  26 +--
 zh/docs/apisix/2.8/plugins/wolf-rbac/index.html    |  26 +--
 zh/docs/apisix/2.8/plugins/zipkin/index.html       |  26 +--
 zh/docs/apisix/2.8/powered-by/index.html           |  26 +--
 zh/docs/apisix/2.8/profile/index.html              |  26 +--
 zh/docs/apisix/2.8/router-radixtree/index.html     |  26 +--
 zh/docs/apisix/2.8/stand-alone/index.html          |  26 +--
 zh/docs/apisix/2.8/stream-proxy/index.html         |  26 +--
 zh/docs/apisix/2.8/tags/index.html                 |  26 +--
 zh/docs/apisix/2.9/FAQ/index.html                  |  26 +--
 zh/docs/apisix/2.9/IGNORE_DOC/index.html           |  26 +--
 zh/docs/apisix/2.9/admin-api/index.html            |  26 +--
 .../2.9/architecture-design/apisix/index.html      |  26 +--
 .../2.9/architecture-design/consumer/index.html    |  26 +--
 .../2.9/architecture-design/debug-mode/index.html  |  26 +--
 .../2.9/architecture-design/global-rule/index.html |  26 +--
 zh/docs/apisix/2.9/architecture-design/index.html  |  26 +--
 .../architecture-design/plugin-config/index.html   |  26 +--
 .../2.9/architecture-design/plugin/index.html      |  26 +--
 .../2.9/architecture-design/route/index.html       |  26 +--
 .../2.9/architecture-design/router/index.html      |  26 +--
 .../2.9/architecture-design/script/index.html      |  26 +--
 .../2.9/architecture-design/service/index.html     |  26 +--
 .../2.9/architecture-design/upstream/index.html    |  26 +--
 zh/docs/apisix/2.9/aws/index.html                  |  26 +--
 zh/docs/apisix/2.9/batch-processor/index.html      |  26 +--
 zh/docs/apisix/2.9/benchmark/index.html            |  26 +--
 zh/docs/apisix/2.9/certificate/index.html          |  26 +--
 zh/docs/apisix/2.9/control-api/index.html          |  26 +--
 .../2.9/customize-nginx-configuration/index.html   |  26 +--
 zh/docs/apisix/2.9/debug-function/index.html       |  26 +--
 zh/docs/apisix/2.9/discovery/consul_kv/index.html  |  26 +--
 zh/docs/apisix/2.9/discovery/dns/index.html        |  26 +--
 zh/docs/apisix/2.9/discovery/eureka/index.html     |  26 +--
 zh/docs/apisix/2.9/discovery/index.html            |  26 +--
 zh/docs/apisix/2.9/discovery/nacos/index.html      |  26 +--
 zh/docs/apisix/2.9/dns/index.html                  |  26 +--
 .../index.html                                     |  26 +--
 zh/docs/apisix/2.9/external-plugin/index.html      |  26 +--
 zh/docs/apisix/2.9/getting-started/index.html      |  26 +--
 zh/docs/apisix/2.9/grpc-proxy/index.html           |  26 +--
 zh/docs/apisix/2.9/health-check/index.html         |  26 +--
 zh/docs/apisix/2.9/how-to-build/index.html         |  26 +--
 zh/docs/apisix/2.9/https/index.html                |  26 +--
 zh/docs/apisix/2.9/install-dependencies/index.html |  26 +--
 .../2.9/internal/testing-framework/index.html      |  26 +--
 zh/docs/apisix/2.9/mtls/index.html                 |  26 +--
 zh/docs/apisix/2.9/plugin-develop/index.html       |  26 +--
 zh/docs/apisix/2.9/plugin-interceptors/index.html  |  26 +--
 zh/docs/apisix/2.9/plugins/api-breaker/index.html  |  26 +--
 zh/docs/apisix/2.9/plugins/authz-casbin/index.html |  26 +--
 .../apisix/2.9/plugins/authz-keycloak/index.html   |  26 +--
 zh/docs/apisix/2.9/plugins/basic-auth/index.html   |  26 +--
 .../apisix/2.9/plugins/batch-requests/index.html   |  26 +--
 .../apisix/2.9/plugins/client-control/index.html   |  26 +--
 .../2.9/plugins/consumer-restriction/index.html    |  26 +--
 zh/docs/apisix/2.9/plugins/cors/index.html         |  26 +--
 zh/docs/apisix/2.9/plugins/dubbo-proxy/index.html  |  26 +--
 zh/docs/apisix/2.9/plugins/echo/index.html         |  26 +--
 .../apisix/2.9/plugins/error-log-logger/index.html |  26 +--
 .../2.9/plugins/ext-plugin-post-req/index.html     |  26 +--
 .../2.9/plugins/ext-plugin-pre-req/index.html      |  26 +--
 .../apisix/2.9/plugins/fault-injection/index.html  |  26 +--
 .../apisix/2.9/plugins/grpc-transcode/index.html   |  26 +--
 zh/docs/apisix/2.9/plugins/gzip/index.html         |  26 +--
 zh/docs/apisix/2.9/plugins/hmac-auth/index.html    |  26 +--
 zh/docs/apisix/2.9/plugins/http-logger/index.html  |  26 +--
 zh/docs/apisix/2.9/plugins/index.html              |  26 +--
 .../apisix/2.9/plugins/ip-restriction/index.html   |  26 +--
 zh/docs/apisix/2.9/plugins/jwt-auth/index.html     |  26 +--
 zh/docs/apisix/2.9/plugins/kafka-logger/index.html |  26 +--
 zh/docs/apisix/2.9/plugins/key-auth/index.html     |  26 +--
 zh/docs/apisix/2.9/plugins/limit-conn/index.html   |  26 +--
 zh/docs/apisix/2.9/plugins/limit-count/index.html  |  26 +--
 zh/docs/apisix/2.9/plugins/limit-req/index.html    |  26 +--
 zh/docs/apisix/2.9/plugins/log-rotate/index.html   |  26 +--
 zh/docs/apisix/2.9/plugins/mqtt-proxy/index.html   |  26 +--
 zh/docs/apisix/2.9/plugins/node-status/index.html  |  26 +--
 .../apisix/2.9/plugins/openid-connect/index.html   |  26 +--
 zh/docs/apisix/2.9/plugins/prometheus/index.html   |  26 +--
 zh/docs/apisix/2.9/plugins/proxy-cache/index.html  |  26 +--
 zh/docs/apisix/2.9/plugins/proxy-mirror/index.html |  26 +--
 .../apisix/2.9/plugins/proxy-rewrite/index.html    |  26 +--
 zh/docs/apisix/2.9/plugins/real-ip/index.html      |  26 +--
 zh/docs/apisix/2.9/plugins/redirect/index.html     |  26 +--
 .../2.9/plugins/referer-restriction/index.html     |  26 +--
 zh/docs/apisix/2.9/plugins/request-id/index.html   |  26 +--
 .../2.9/plugins/request-validation/index.html      |  26 +--
 .../apisix/2.9/plugins/response-rewrite/index.html |  26 +--
 zh/docs/apisix/2.9/plugins/server-info/index.html  |  26 +--
 zh/docs/apisix/2.9/plugins/serverless/index.html   |  26 +--
 zh/docs/apisix/2.9/plugins/skywalking/index.html   |  26 +--
 zh/docs/apisix/2.9/plugins/sls-logger/index.html   |  26 +--
 zh/docs/apisix/2.9/plugins/syslog/index.html       |  26 +--
 zh/docs/apisix/2.9/plugins/tcp-logger/index.html   |  26 +--
 .../apisix/2.9/plugins/traffic-split/index.html    |  26 +--
 .../apisix/2.9/plugins/ua-restriction/index.html   |  26 +--
 zh/docs/apisix/2.9/plugins/udp-logger/index.html   |  26 +--
 zh/docs/apisix/2.9/plugins/uri-blocker/index.html  |  26 +--
 zh/docs/apisix/2.9/plugins/wolf-rbac/index.html    |  26 +--
 zh/docs/apisix/2.9/plugins/zipkin/index.html       |  26 +--
 zh/docs/apisix/2.9/powered-by/index.html           |  26 +--
 zh/docs/apisix/2.9/profile/index.html              |  26 +--
 zh/docs/apisix/2.9/router-radixtree/index.html     |  26 +--
 zh/docs/apisix/2.9/stand-alone/index.html          |  26 +--
 zh/docs/apisix/2.9/stream-proxy/index.html         |  26 +--
 zh/docs/apisix/2.9/tags/index.html                 |  26 +--
 zh/docs/apisix/FAQ/index.html                      |  26 +--
 zh/docs/apisix/IGNORE_DOC/index.html               |  26 +--
 zh/docs/apisix/admin-api/index.html                |  26 +--
 .../apisix/architecture-design/apisix/index.html   |  26 +--
 .../apisix/architecture-design/consumer/index.html |  26 +--
 .../architecture-design/debug-mode/index.html      |  26 +--
 .../architecture-design/global-rule/index.html     |  26 +--
 zh/docs/apisix/architecture-design/index.html      |  26 +--
 .../architecture-design/plugin-config/index.html   |  26 +--
 .../apisix/architecture-design/plugin/index.html   |  26 +--
 .../apisix/architecture-design/route/index.html    |  26 +--
 .../apisix/architecture-design/router/index.html   |  26 +--
 .../apisix/architecture-design/script/index.html   |  26 +--
 .../apisix/architecture-design/service/index.html  |  26 +--
 .../apisix/architecture-design/upstream/index.html |  26 +--
 zh/docs/apisix/aws/index.html                      |  26 +--
 zh/docs/apisix/batch-processor/index.html          |  26 +--
 zh/docs/apisix/benchmark/index.html                |  26 +--
 zh/docs/apisix/certificate/index.html              |  26 +--
 zh/docs/apisix/control-api/index.html              |  26 +--
 .../customize-nginx-configuration/index.html       |  26 +--
 zh/docs/apisix/debug-function/index.html           |  26 +--
 zh/docs/apisix/discovery/consul_kv/index.html      |  26 +--
 zh/docs/apisix/discovery/dns/index.html            |  26 +--
 zh/docs/apisix/discovery/eureka/index.html         |  26 +--
 zh/docs/apisix/discovery/index.html                |  26 +--
 zh/docs/apisix/discovery/nacos/index.html          |  26 +--
 zh/docs/apisix/dns/index.html                      |  26 +--
 .../index.html                                     |  26 +--
 zh/docs/apisix/external-plugin/index.html          |  26 +--
 zh/docs/apisix/getting-started/index.html          |  26 +--
 zh/docs/apisix/grpc-proxy/index.html               |  26 +--
 zh/docs/apisix/health-check/index.html             |  26 +--
 zh/docs/apisix/how-to-build/index.html             |  26 +--
 zh/docs/apisix/https/index.html                    |  26 +--
 zh/docs/apisix/install-dependencies/index.html     |  26 +--
 .../apisix/internal/testing-framework/index.html   |  26 +--
 zh/docs/apisix/mtls/index.html                     |  26 +--
 zh/docs/apisix/next/FAQ/index.html                 |  26 +--
 zh/docs/apisix/next/IGNORE_DOC/index.html          |  26 +--
 zh/docs/apisix/next/admin-api/index.html           |  26 +--
 .../next/architecture-design/apisix/index.html     |  26 +--
 .../next/architecture-design/consumer/index.html   |  26 +--
 .../next/architecture-design/debug-mode/index.html |  26 +--
 .../architecture-design/global-rule/index.html     |  26 +--
 zh/docs/apisix/next/architecture-design/index.html |  26 +--
 .../architecture-design/plugin-config/index.html   |  26 +--
 .../next/architecture-design/plugin/index.html     |  26 +--
 .../next/architecture-design/route/index.html      |  26 +--
 .../next/architecture-design/router/index.html     |  26 +--
 .../next/architecture-design/script/index.html     |  26 +--
 .../next/architecture-design/service/index.html    |  26 +--
 .../next/architecture-design/upstream/index.html   |  26 +--
 zh/docs/apisix/next/aws/index.html                 |  26 +--
 zh/docs/apisix/next/batch-processor/index.html     |  26 +--
 zh/docs/apisix/next/benchmark/index.html           |  26 +--
 zh/docs/apisix/next/certificate/index.html         |  26 +--
 zh/docs/apisix/next/control-api/index.html         |  26 +--
 .../next/customize-nginx-configuration/index.html  |  26 +--
 zh/docs/apisix/next/debug-function/index.html      |  26 +--
 zh/docs/apisix/next/discovery/consul_kv/index.html |  26 +--
 zh/docs/apisix/next/discovery/dns/index.html       |  26 +--
 zh/docs/apisix/next/discovery/eureka/index.html    |  26 +--
 zh/docs/apisix/next/discovery/index.html           |  26 +--
 zh/docs/apisix/next/discovery/nacos/index.html     |  26 +--
 zh/docs/apisix/next/dns/index.html                 |  26 +--
 .../index.html                                     |  26 +--
 zh/docs/apisix/next/external-plugin/index.html     |  26 +--
 zh/docs/apisix/next/getting-started/index.html     |  26 +--
 zh/docs/apisix/next/grpc-proxy/index.html          |  26 +--
 zh/docs/apisix/next/health-check/index.html        |  26 +--
 zh/docs/apisix/next/how-to-build/index.html        |  26 +--
 zh/docs/apisix/next/https/index.html               |  26 +--
 .../apisix/next/install-dependencies/index.html    |  26 +--
 .../next/internal/testing-framework/index.html     |  26 +--
 zh/docs/apisix/next/mtls/index.html                |  26 +--
 zh/docs/apisix/next/plugin-develop/index.html      |  26 +--
 zh/docs/apisix/next/plugin-interceptors/index.html |  26 +--
 zh/docs/apisix/next/plugins/api-breaker/index.html |  26 +--
 .../apisix/next/plugins/authz-casbin/index.html    |  26 +--
 .../apisix/next/plugins/authz-keycloak/index.html  |  26 +--
 zh/docs/apisix/next/plugins/basic-auth/index.html  |  26 +--
 .../apisix/next/plugins/batch-requests/index.html  |  26 +--
 .../apisix/next/plugins/client-control/index.html  |  26 +--
 .../next/plugins/consumer-restriction/index.html   |  26 +--
 zh/docs/apisix/next/plugins/cors/index.html        |  26 +--
 zh/docs/apisix/next/plugins/datadog/index.html     |  26 +--
 zh/docs/apisix/next/plugins/dubbo-proxy/index.html |  26 +--
 zh/docs/apisix/next/plugins/echo/index.html        |  26 +--
 .../next/plugins/error-log-logger/index.html       |  26 +--
 .../next/plugins/ext-plugin-post-req/index.html    |  26 +--
 .../next/plugins/ext-plugin-pre-req/index.html     |  26 +--
 .../apisix/next/plugins/fault-injection/index.html |  26 +--
 .../apisix/next/plugins/grpc-transcode/index.html  |  26 +--
 zh/docs/apisix/next/plugins/gzip/index.html        |  26 +--
 zh/docs/apisix/next/plugins/hmac-auth/index.html   |  26 +--
 zh/docs/apisix/next/plugins/http-logger/index.html |  26 +--
 zh/docs/apisix/next/plugins/index.html             |  26 +--
 .../apisix/next/plugins/ip-restriction/index.html  |  26 +--
 zh/docs/apisix/next/plugins/jwt-auth/index.html    |  26 +--
 .../apisix/next/plugins/kafka-logger/index.html    |  26 +--
 zh/docs/apisix/next/plugins/key-auth/index.html    |  26 +--
 zh/docs/apisix/next/plugins/ldap-auth/index.html   |  26 +--
 zh/docs/apisix/next/plugins/limit-conn/index.html  |  26 +--
 zh/docs/apisix/next/plugins/limit-count/index.html |  26 +--
 zh/docs/apisix/next/plugins/limit-req/index.html   |  26 +--
 zh/docs/apisix/next/plugins/log-rotate/index.html  |  26 +--
 zh/docs/apisix/next/plugins/mqtt-proxy/index.html  |  26 +--
 zh/docs/apisix/next/plugins/node-status/index.html |  26 +--
 .../apisix/next/plugins/openid-connect/index.html  |  26 +--
 zh/docs/apisix/next/plugins/prometheus/index.html  |  26 +--
 zh/docs/apisix/next/plugins/proxy-cache/index.html |  26 +--
 .../apisix/next/plugins/proxy-mirror/index.html    |  26 +--
 .../apisix/next/plugins/proxy-rewrite/index.html   |  26 +--
 zh/docs/apisix/next/plugins/real-ip/index.html     |  26 +--
 zh/docs/apisix/next/plugins/redirect/index.html    |  26 +--
 .../next/plugins/referer-restriction/index.html    |  26 +--
 zh/docs/apisix/next/plugins/request-id/index.html  |  26 +--
 .../next/plugins/request-validation/index.html     |  26 +--
 .../next/plugins/response-rewrite/index.html       |  26 +--
 zh/docs/apisix/next/plugins/server-info/index.html |  26 +--
 zh/docs/apisix/next/plugins/serverless/index.html  |  26 +--
 .../next/plugins/skywalking-logger/index.html      |  26 +--
 zh/docs/apisix/next/plugins/skywalking/index.html  |  26 +--
 zh/docs/apisix/next/plugins/sls-logger/index.html  |  26 +--
 zh/docs/apisix/next/plugins/syslog/index.html      |  26 +--
 zh/docs/apisix/next/plugins/tcp-logger/index.html  |  26 +--
 .../apisix/next/plugins/traffic-split/index.html   |  26 +--
 .../apisix/next/plugins/ua-restriction/index.html  |  26 +--
 zh/docs/apisix/next/plugins/udp-logger/index.html  |  26 +--
 zh/docs/apisix/next/plugins/uri-blocker/index.html |  26 +--
 zh/docs/apisix/next/plugins/wolf-rbac/index.html   |  26 +--
 zh/docs/apisix/next/plugins/zipkin/index.html      |  26 +--
 zh/docs/apisix/next/powered-by/index.html          |  26 +--
 zh/docs/apisix/next/profile/index.html             |  26 +--
 zh/docs/apisix/next/router-radixtree/index.html    |  26 +--
 zh/docs/apisix/next/stand-alone/index.html         |  26 +--
 zh/docs/apisix/next/stream-proxy/index.html        |  26 +--
 zh/docs/apisix/next/tags/index.html                |  26 +--
 zh/docs/apisix/next/wasm/index.html                |  26 +--
 zh/docs/apisix/plugin-develop/index.html           |  26 +--
 zh/docs/apisix/plugin-interceptors/index.html      |  26 +--
 zh/docs/apisix/plugins/api-breaker/index.html      |  26 +--
 zh/docs/apisix/plugins/authz-casbin/index.html     |  26 +--
 zh/docs/apisix/plugins/authz-keycloak/index.html   |  26 +--
 zh/docs/apisix/plugins/basic-auth/index.html       |  26 +--
 zh/docs/apisix/plugins/batch-requests/index.html   |  26 +--
 zh/docs/apisix/plugins/client-control/index.html   |  26 +--
 .../apisix/plugins/consumer-restriction/index.html |  26 +--
 zh/docs/apisix/plugins/cors/index.html             |  26 +--
 zh/docs/apisix/plugins/dubbo-proxy/index.html      |  26 +--
 zh/docs/apisix/plugins/echo/index.html             |  26 +--
 zh/docs/apisix/plugins/error-log-logger/index.html |  26 +--
 .../apisix/plugins/ext-plugin-post-req/index.html  |  26 +--
 .../apisix/plugins/ext-plugin-pre-req/index.html   |  26 +--
 zh/docs/apisix/plugins/fault-injection/index.html  |  26 +--
 zh/docs/apisix/plugins/grpc-transcode/index.html   |  26 +--
 zh/docs/apisix/plugins/gzip/index.html             |  26 +--
 zh/docs/apisix/plugins/hmac-auth/index.html        |  26 +--
 zh/docs/apisix/plugins/http-logger/index.html      |  26 +--
 zh/docs/apisix/plugins/index.html                  |  26 +--
 zh/docs/apisix/plugins/ip-restriction/index.html   |  26 +--
 zh/docs/apisix/plugins/jwt-auth/index.html         |  26 +--
 zh/docs/apisix/plugins/kafka-logger/index.html     |  26 +--
 zh/docs/apisix/plugins/key-auth/index.html         |  26 +--
 zh/docs/apisix/plugins/limit-conn/index.html       |  26 +--
 zh/docs/apisix/plugins/limit-count/index.html      |  26 +--
 zh/docs/apisix/plugins/limit-req/index.html        |  26 +--
 zh/docs/apisix/plugins/log-rotate/index.html       |  26 +--
 zh/docs/apisix/plugins/mqtt-proxy/index.html       |  26 +--
 zh/docs/apisix/plugins/node-status/index.html      |  26 +--
 zh/docs/apisix/plugins/openid-connect/index.html   |  26 +--
 zh/docs/apisix/plugins/prometheus/index.html       |  26 +--
 zh/docs/apisix/plugins/proxy-cache/index.html      |  26 +--
 zh/docs/apisix/plugins/proxy-mirror/index.html     |  26 +--
 zh/docs/apisix/plugins/proxy-rewrite/index.html    |  26 +--
 zh/docs/apisix/plugins/real-ip/index.html          |  26 +--
 zh/docs/apisix/plugins/redirect/index.html         |  26 +--
 .../apisix/plugins/referer-restriction/index.html  |  26 +--
 zh/docs/apisix/plugins/request-id/index.html       |  26 +--
 .../apisix/plugins/request-validation/index.html   |  26 +--
 zh/docs/apisix/plugins/response-rewrite/index.html |  26 +--
 zh/docs/apisix/plugins/server-info/index.html      |  26 +--
 zh/docs/apisix/plugins/serverless/index.html       |  26 +--
 zh/docs/apisix/plugins/skywalking/index.html       |  26 +--
 zh/docs/apisix/plugins/sls-logger/index.html       |  26 +--
 zh/docs/apisix/plugins/syslog/index.html           |  26 +--
 zh/docs/apisix/plugins/tcp-logger/index.html       |  26 +--
 zh/docs/apisix/plugins/traffic-split/index.html    |  26 +--
 zh/docs/apisix/plugins/ua-restriction/index.html   |  26 +--
 zh/docs/apisix/plugins/udp-logger/index.html       |  26 +--
 zh/docs/apisix/plugins/uri-blocker/index.html      |  26 +--
 zh/docs/apisix/plugins/wolf-rbac/index.html        |  26 +--
 zh/docs/apisix/plugins/zipkin/index.html           |  26 +--
 zh/docs/apisix/powered-by/index.html               |  26 +--
 zh/docs/apisix/profile/index.html                  |  26 +--
 zh/docs/apisix/router-radixtree/index.html         |  26 +--
 zh/docs/apisix/stand-alone/index.html              |  26 +--
 zh/docs/apisix/stream-proxy/index.html             |  26 +--
 zh/docs/apisix/tags/index.html                     |  26 +--
 zh/docs/dashboard/2.5/FAQ/index.html               |  26 +--
 zh/docs/dashboard/2.5/I18N_USER_GUIDE/index.html   |  26 +--
 zh/docs/dashboard/2.5/IGNORE_DOC/index.html        |  26 +--
 .../2.5/IMPORT_OPENAPI_USER_GUIDE/index.html       |  26 +--
 zh/docs/dashboard/2.5/USER_GUIDE/index.html        |  26 +--
 zh/docs/dashboard/2.5/api/api/index.html           |  26 +--
 zh/docs/dashboard/2.5/back-end-tests/index.html    |  26 +--
 .../dashboard/2.5/deploy-with-docker/index.html    |  26 +--
 zh/docs/dashboard/2.5/deploy-with-rpm/index.html   |  26 +--
 zh/docs/dashboard/2.5/deploy/index.html            |  26 +--
 zh/docs/dashboard/2.5/develop/index.html           |  26 +--
 zh/docs/dashboard/2.5/front-end-e2e/index.html     |  26 +--
 zh/docs/dashboard/2.5/tags/index.html              |  26 +--
 zh/docs/dashboard/2.6.1/FAQ/index.html             |  26 +--
 zh/docs/dashboard/2.6.1/I18N_USER_GUIDE/index.html |  26 +--
 zh/docs/dashboard/2.6.1/IGNORE_DOC/index.html      |  26 +--
 .../2.6.1/IMPORT_OPENAPI_USER_GUIDE/index.html     |  26 +--
 zh/docs/dashboard/2.6.1/USER_GUIDE/index.html      |  26 +--
 zh/docs/dashboard/2.6.1/api/api/index.html         |  26 +--
 zh/docs/dashboard/2.6.1/back-end-tests/index.html  |  26 +--
 .../dashboard/2.6.1/deploy-with-docker/index.html  |  26 +--
 zh/docs/dashboard/2.6.1/deploy-with-rpm/index.html |  26 +--
 zh/docs/dashboard/2.6.1/deploy/index.html          |  26 +--
 zh/docs/dashboard/2.6.1/develop/index.html         |  26 +--
 zh/docs/dashboard/2.6.1/front-end-e2e/index.html   |  26 +--
 zh/docs/dashboard/2.6.1/tags/index.html            |  26 +--
 zh/docs/dashboard/2.6/FAQ/index.html               |  26 +--
 zh/docs/dashboard/2.6/I18N_USER_GUIDE/index.html   |  26 +--
 zh/docs/dashboard/2.6/IGNORE_DOC/index.html        |  26 +--
 .../2.6/IMPORT_OPENAPI_USER_GUIDE/index.html       |  26 +--
 zh/docs/dashboard/2.6/USER_GUIDE/index.html        |  26 +--
 zh/docs/dashboard/2.6/api/api/index.html           |  26 +--
 zh/docs/dashboard/2.6/back-end-tests/index.html    |  26 +--
 .../dashboard/2.6/deploy-with-docker/index.html    |  26 +--
 zh/docs/dashboard/2.6/deploy-with-rpm/index.html   |  26 +--
 zh/docs/dashboard/2.6/deploy/index.html            |  26 +--
 zh/docs/dashboard/2.6/develop/index.html           |  26 +--
 zh/docs/dashboard/2.6/front-end-e2e/index.html     |  26 +--
 zh/docs/dashboard/2.6/tags/index.html              |  26 +--
 zh/docs/dashboard/2.7.1/FAQ/index.html             |  26 +--
 zh/docs/dashboard/2.7.1/I18N_USER_GUIDE/index.html |  26 +--
 zh/docs/dashboard/2.7.1/IGNORE_DOC/index.html      |  26 +--
 .../2.7.1/IMPORT_OPENAPI_USER_GUIDE/index.html     |  26 +--
 zh/docs/dashboard/2.7.1/USER_GUIDE/index.html      |  26 +--
 zh/docs/dashboard/2.7.1/api/api/index.html         |  26 +--
 zh/docs/dashboard/2.7.1/back-end-tests/index.html  |  26 +--
 .../dashboard/2.7.1/deploy-with-docker/index.html  |  26 +--
 zh/docs/dashboard/2.7.1/deploy-with-rpm/index.html |  26 +--
 zh/docs/dashboard/2.7.1/deploy/index.html          |  26 +--
 zh/docs/dashboard/2.7.1/develop/index.html         |  26 +--
 zh/docs/dashboard/2.7.1/front-end-e2e/index.html   |  26 +--
 zh/docs/dashboard/2.7.1/tags/index.html            |  26 +--
 zh/docs/dashboard/2.7/FAQ/index.html               |  26 +--
 zh/docs/dashboard/2.7/I18N_USER_GUIDE/index.html   |  26 +--
 zh/docs/dashboard/2.7/IGNORE_DOC/index.html        |  26 +--
 .../2.7/IMPORT_OPENAPI_USER_GUIDE/index.html       |  26 +--
 zh/docs/dashboard/2.7/USER_GUIDE/index.html        |  26 +--
 zh/docs/dashboard/2.7/api/api/index.html           |  26 +--
 zh/docs/dashboard/2.7/back-end-tests/index.html    |  26 +--
 .../dashboard/2.7/deploy-with-docker/index.html    |  26 +--
 zh/docs/dashboard/2.7/deploy-with-rpm/index.html   |  26 +--
 zh/docs/dashboard/2.7/deploy/index.html            |  26 +--
 zh/docs/dashboard/2.7/develop/index.html           |  26 +--
 zh/docs/dashboard/2.7/front-end-e2e/index.html     |  26 +--
 zh/docs/dashboard/2.7/tags/index.html              |  26 +--
 zh/docs/dashboard/2.8/FAQ/index.html               |  26 +--
 zh/docs/dashboard/2.8/I18N_USER_GUIDE/index.html   |  26 +--
 zh/docs/dashboard/2.8/IGNORE_DOC/index.html        |  26 +--
 .../2.8/IMPORT_OPENAPI_USER_GUIDE/index.html       |  26 +--
 zh/docs/dashboard/2.8/USER_GUIDE/index.html        |  26 +--
 zh/docs/dashboard/2.8/api/api/index.html           |  26 +--
 zh/docs/dashboard/2.8/back-end-tests/index.html    |  26 +--
 .../dashboard/2.8/deploy-with-docker/index.html    |  26 +--
 zh/docs/dashboard/2.8/deploy-with-rpm/index.html   |  26 +--
 zh/docs/dashboard/2.8/deploy/index.html            |  26 +--
 zh/docs/dashboard/2.8/develop/index.html           |  26 +--
 zh/docs/dashboard/2.8/front-end-e2e/index.html     |  26 +--
 zh/docs/dashboard/2.8/tags/index.html              |  26 +--
 zh/docs/dashboard/FAQ/index.html                   |  26 +--
 zh/docs/dashboard/I18N_USER_GUIDE/index.html       |  26 +--
 zh/docs/dashboard/IGNORE_DOC/index.html            |  26 +--
 .../dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html |  26 +--
 zh/docs/dashboard/USER_GUIDE/index.html            |  26 +--
 zh/docs/dashboard/api/api/index.html               |  26 +--
 zh/docs/dashboard/back-end-tests/index.html        |  26 +--
 zh/docs/dashboard/deploy-with-docker/index.html    |  26 +--
 zh/docs/dashboard/deploy-with-rpm/index.html       |  26 +--
 zh/docs/dashboard/deploy/index.html                |  26 +--
 zh/docs/dashboard/develop/index.html               |  26 +--
 zh/docs/dashboard/front-end-e2e/index.html         |  26 +--
 zh/docs/dashboard/next/FAQ/index.html              |  26 +--
 zh/docs/dashboard/next/I18N_USER_GUIDE/index.html  |  26 +--
 zh/docs/dashboard/next/IGNORE_DOC/index.html       |  26 +--
 .../next/IMPORT_OPENAPI_USER_GUIDE/index.html      |  26 +--
 zh/docs/dashboard/next/USER_GUIDE/index.html       |  26 +--
 zh/docs/dashboard/next/api/api/index.html          |  26 +--
 zh/docs/dashboard/next/back-end-tests/index.html   |  26 +--
 .../dashboard/next/deploy-with-docker/index.html   |  26 +--
 zh/docs/dashboard/next/deploy-with-rpm/index.html  |  26 +--
 zh/docs/dashboard/next/deploy/index.html           |  26 +--
 zh/docs/dashboard/next/develop/index.html          |  26 +--
 zh/docs/dashboard/next/front-end-e2e/index.html    |  26 +--
 zh/docs/dashboard/next/install/index.html          |  26 +--
 zh/docs/dashboard/next/tags/index.html             |  26 +--
 zh/docs/dashboard/tags/index.html                  |  26 +--
 zh/docs/docker/IGNORE_DOC/index.html               |  26 +--
 zh/docs/docker/apisix-2.10.0/IGNORE_DOC/index.html |  26 +--
 zh/docs/docker/apisix-2.10.0/build/index.html      |  26 +--
 zh/docs/docker/apisix-2.10.0/example/index.html    |  26 +--
 zh/docs/docker/apisix-2.10.0/manual/index.html     |  26 +--
 zh/docs/docker/apisix-2.10.0/tags/index.html       |  26 +--
 zh/docs/docker/apisix-2.9.0/IGNORE_DOC/index.html  |  26 +--
 zh/docs/docker/apisix-2.9.0/build/index.html       |  26 +--
 zh/docs/docker/apisix-2.9.0/example/index.html     |  26 +--
 zh/docs/docker/apisix-2.9.0/manual/index.html      |  26 +--
 zh/docs/docker/apisix-2.9.0/tags/index.html        |  26 +--
 zh/docs/docker/build/index.html                    |  26 +--
 .../docker/dashboard-2.7.1/IGNORE_DOC/index.html   |  26 +--
 zh/docs/docker/dashboard-2.7.1/build/index.html    |  26 +--
 zh/docs/docker/dashboard-2.7.1/example/index.html  |  26 +--
 zh/docs/docker/dashboard-2.7.1/manual/index.html   |  26 +--
 zh/docs/docker/dashboard-2.7.1/tags/index.html     |  26 +--
 zh/docs/docker/example/index.html                  |  26 +--
 zh/docs/docker/manual/index.html                   |  26 +--
 zh/docs/docker/next/IGNORE_DOC/index.html          |  26 +--
 zh/docs/docker/next/build/index.html               |  26 +--
 zh/docs/docker/next/example/index.html             |  26 +--
 zh/docs/docker/next/manual/index.html              |  26 +--
 zh/docs/docker/next/tags/index.html                |  26 +--
 zh/docs/docker/tags/index.html                     |  26 +--
 zh/docs/general/2fa/index.html                     |  26 +--
 zh/docs/general/committer-guide/index.html         |  26 +--
 zh/docs/general/community/index.html               |  26 +--
 zh/docs/general/contributor-guide/index.html       |  26 +--
 .../general/integrate-with-project-docs/index.html |  26 +--
 zh/docs/general/release-guide/index.html           |  28 +--
 zh/docs/general/security/index.html                |  26 +--
 zh/docs/general/subscribe-guide/index.html         |  26 +--
 zh/docs/general/tags/index.html                    |  26 +--
 .../go-plugin-runner/0.1.0/IGNORE_DOC/index.html   |  26 +--
 .../0.1.0/developer-guide/index.html               |  26 +--
 .../0.1.0/getting-started/index.html               |  26 +--
 zh/docs/go-plugin-runner/0.1.0/tags/index.html     |  26 +--
 zh/docs/go-plugin-runner/IGNORE_DOC/index.html     |  26 +--
 .../go-plugin-runner/developer-guide/index.html    |  26 +--
 .../go-plugin-runner/getting-started/index.html    |  26 +--
 .../go-plugin-runner/next/IGNORE_DOC/index.html    |  26 +--
 .../next/developer-guide/index.html                |  26 +--
 .../next/getting-started/index.html                |  26 +--
 zh/docs/go-plugin-runner/next/tags/index.html      |  26 +--
 zh/docs/go-plugin-runner/tags/index.html           |  26 +--
 zh/docs/helm-chart/FAQ/index.html                  |  26 +--
 zh/docs/helm-chart/IGNORE_DOC/index.html           |  26 +--
 zh/docs/helm-chart/apisix-dashboard/index.html     |  26 +--
 .../apisix-ingress-controller/index.html           |  26 +--
 zh/docs/helm-chart/apisix/index.html               |  26 +--
 zh/docs/helm-chart/tags/index.html                 |  26 +--
 zh/docs/index.html                                 |  26 +--
 zh/docs/ingress-controller/FAQ/index.html          |  26 +--
 zh/docs/ingress-controller/IGNORE_DOC/index.html   |  26 +--
 .../concepts/annotations/index.html                |  26 +--
 .../concepts/apisix_cluster_config/index.html      |  26 +--
 .../concepts/apisix_route/index.html               |  26 +--
 .../concepts/apisix_tls/index.html                 |  26 +--
 .../concepts/apisix_upstream/index.html            |  26 +--
 zh/docs/ingress-controller/contribute/index.html   |  26 +--
 .../ingress-controller/deployments/ack/index.html  |  26 +--
 .../ingress-controller/deployments/aws/index.html  |  26 +--
 .../deployments/azure/index.html                   |  26 +--
 .../ingress-controller/deployments/gke/index.html  |  26 +--
 .../deployments/k3s-rke/index.html                 |  26 +--
 .../deployments/kubesphere/index.html              |  26 +--
 .../deployments/minikube/index.html                |  26 +--
 .../ingress-controller/deployments/tke/index.html  |  26 +--
 zh/docs/ingress-controller/design/index.html       |  26 +--
 zh/docs/ingress-controller/development/index.html  |  26 +--
 .../ingress-controller/getting-started/index.html  |  26 +--
 .../practices/check-crd-status/index.html          |  26 +--
 .../ingress-controller/practices/index/index.html  |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../ingress-controller/practices/mtls/index.html   |  26 +--
 .../practices/proxy-grpc-service/index.html        |  26 +--
 .../index.html                                     |  26 +--
 .../practices/proxy-the-httpbin-service/index.html |  26 +--
 .../practices/the-hard-way/index.html              |  26 +--
 .../references/apisix_cluster_config/index.html    |  26 +--
 .../references/apisix_route_v1/index.html          |  26 +--
 .../references/apisix_route_v2alpha1/index.html    |  26 +--
 .../references/apisix_route_v2beta1/index.html     |  26 +--
 .../references/apisix_tls/index.html               |  26 +--
 .../references/apisix_upstream/index.html          |  26 +--
 zh/docs/ingress-controller/tags/index.html         |  26 +--
 zh/docs/ingress-controller/upgrade/index.html      |  26 +--
 zh/docs/java-plugin-runner/IGNORE_DOC/index.html   |  26 +--
 zh/docs/java-plugin-runner/development/index.html  |  26 +--
 zh/docs/java-plugin-runner/how-it-works/index.html |  26 +--
 .../java-plugin-runner/next/IGNORE_DOC/index.html  |  26 +--
 .../java-plugin-runner/next/development/index.html |  26 +--
 .../next/how-it-works/index.html                   |  26 +--
 zh/docs/java-plugin-runner/next/tags/index.html    |  26 +--
 .../index.html                                     |  26 +--
 zh/docs/java-plugin-runner/tags/index.html         |  26 +--
 .../index.html                                     |  26 +--
 zh/docs/python-plugin-runner/IGNORE_DOC/index.html |  26 +--
 .../developer-guide/index.html                     |  26 +--
 .../getting-started/index.html                     |  26 +--
 .../next/IGNORE_DOC/index.html                     |  26 +--
 .../next/developer-guide/index.html                |  26 +--
 .../next/getting-started/index.html                |  26 +--
 zh/docs/python-plugin-runner/next/tags/index.html  |  26 +--
 zh/docs/python-plugin-runner/tags/index.html       |  26 +--
 zh/downloads/index.html                            |  26 +--
 zh/events/archive/index.html                       |  26 +--
 zh/help/index.html                                 |  26 +--
 zh/index.html                                      |  26 +--
 zh/opensearch.xml                                  |   4 +-
 zh/plugins/index.html                              |  26 +--
 .../11/15/release-apache-apisix-0.9/index.html     |  26 +--
 .../2019/9/29/release-apache-apisix-0.8/index.html |  26 +--
 .../2019/9/6/release-apache-apisix-0.7/index.html  |  26 +--
 .../2020/1/15/release-apache-apisix-1.0/index.html |  26 +--
 .../10/28/release-apache-apisix-2.0/index.html     |  26 +--
 .../2020/12/1/release-apache-apisix-2.1/index.html |  26 +--
 .../release-apache-apisix-dashboard-2.2/index.html |  26 +--
 .../index.html                                     |  26 +--
 .../2020/2/24/release-apache-apisix-1.1/index.html |  26 +--
 .../release-apache-apisix-dashboard-1.0/index.html |  26 +--
 .../2020/4/20/release-apache-apisix-1.2/index.html |  26 +--
 .../2020/5/26/release-apache-apisix-1.3/index.html |  26 +--
 .../2020/6/30/release-apache-apisix-1.4/index.html |  26 +--
 .../7/20/release-apache-apisix-1.4.1/index.html    |  26 +--
 .../release-apache-apisix-dashboard-1.5/index.html |  26 +--
 .../2020/8/6/release-apache-apisix-1.5/index.html  |  26 +--
 .../release-apache-apisix-dashboard-2.3/index.html |  26 +--
 .../index.html                                     |  26 +--
 .../2021/1/8/release-apache-apisix-2.2/index.html  |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../release-apache-apisix-dashboard-2.4/index.html |  26 +--
 .../2021/2/9/release-apache-apisix-2.3/index.html  |  26 +--
 .../index.html                                     |  26 +--
 .../release-apache-apisix-dashboard-2.5/index.html |  26 +--
 .../2021/3/5/release-apache-apisix-2.4/index.html  |  26 +--
 .../index.html                                     |  26 +--
 .../release-apache-apisix-dashboard-2.6/index.html |  26 +--
 .../2021/4/5/release-apache-apisix-2.5/index.html  |  26 +--
 .../index.html                                     |  26 +--
 .../2021/5/24/release-apache-apisix-2.6/index.html |  26 +--
 .../index.html                                     |  26 +--
 .../release-apache-apisix-dashboard-2.7/index.html |  26 +--
 .../index.html                                     |  26 +--
 .../2021/6/25/release-apache-apisix-2.7/index.html |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../2021/7/27/release-apache-apisix-2.8/index.html |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../2021/8/27/release-apache-apisix-2.9/index.html |  26 +--
 .../index.html                                     |  26 +--
 .../index.html                                     |  26 +--
 .../release-apache-apisix-dashboard-2.8/index.html |  26 +--
 zh/releases/archive/index.html                     |  26 +--
 zh/releases/atom.xml                               |   4 +-
 zh/releases/index.html                             |  26 +--
 zh/releases/page/2/index.html                      |  26 +--
 zh/releases/page/3/index.html                      |  26 +--
 zh/releases/page/4/index.html                      |  26 +--
 zh/releases/page/5/index.html                      |  26 +--
 zh/releases/rss.xml                                |   4 +-
 zh/releases/tags/apisix-dashboard/index.html       |  26 +--
 .../tags/apisix-go-plugin-runner/index.html        |  26 +--
 .../tags/apisix-ingress-controller/index.html      |  26 +--
 .../tags/apisix-java-plugin-runner/index.html      |  26 +--
 .../tags/apisix-python-plugin-runner/index.html    |  26 +--
 zh/releases/tags/apisix/index.html                 |  26 +--
 zh/releases/tags/index.html                        |  26 +--
 zh/search/index.html                               |  26 +--
 zh/sections/architecture/index.html                |  22 +-
 zh/sections/benefits/index.html                    |  22 +-
 zh/sections/comparison/index.html                  |  22 +-
 zh/sections/components/arrowAnim/index.html        |  22 +-
 zh/sections/components/eventPosterCard/index.html  |  22 +-
 zh/sections/components/heroCanvas/index.html       |  22 +-
 zh/sections/components/ossCanvas/index.html        |  22 +-
 zh/sections/endcta/index.html                      |  22 +-
 zh/sections/features/index.html                    |  22 +-
 zh/sections/heroSection/index.html                 |  22 +-
 zh/sections/home-events-section/index.html         |  22 +-
 zh/sections/opensourcePromo/index.html             |  22 +-
 zh/showcase/index.html                             |  26 +--
 zh/team/index.html                                 |  26 +--
 2348 files changed, 30062 insertions(+), 30542 deletions(-)

diff --git a/404.html b/404.html
index 2dcbe93..27c7bd1 100644
--- a/404.html
+++ b/404.html
@@ -4,25 +4,25 @@
 <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="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">Page Not Found | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Page Not Found | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://ap [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 c677586..22fb0e1 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
@@ -4,25 +4,25 @@
 <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="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 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://apis [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 022a7e9..fcf6f42 100644
--- a/articles/Apache-APISIX-From-OpenSource-Commercialization/index.html
+++ b/articles/Apache-APISIX-From-OpenSource-Commercialization/index.html
@@ -4,25 +4,25 @@
 <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="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 从开源项目到商业化之路 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 从开源项目到商业化之路 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 59df28f..80c36d8 100644
--- a/articles/Apache-APISIX-Incubator-Journey/index.html
+++ b/articles/Apache-APISIX-Incubator-Journey/index.html
@@ -4,25 +4,25 @@
 <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="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 的孵化器之旅 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 的孵化器之旅 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 0d5085a..253bb69 100644
--- a/articles/Apache-APISIX-Kubernetes-Ingress/index.html
+++ b/articles/Apache-APISIX-Kubernetes-Ingress/index.html
@@ -4,25 +4,25 @@
 <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="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 的 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="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 的 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 7224fee..591d358 100644
--- a/articles/Apache-APISIX-in-China-Mobile-Cloud/index.html
+++ b/articles/Apache-APISIX-in-China-Mobile-Cloud/index.html
@@ -4,25 +4,25 @@
 <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="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 在移动云对象存储 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://a [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 在移动云对象存储 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 16c853f..6c66449 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
@@ -4,25 +4,25 @@
 <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="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 扩展为一个服务网格的边车 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apis [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 扩展为一个服务网格的边车 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 f830a63..9f316ae 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
@@ -4,25 +4,25 @@
 <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="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 高速发展 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 高速发展 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 7722eb3..51cdb3d 100644
--- a/articles/Rendering-Community-Events-Using-ECharts/index.html
+++ b/articles/Rendering-Community-Events-Using-ECharts/index.html
@@ -4,25 +4,25 @@
 <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="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">使用 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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">使用 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 4722c42..25096fa 100644
--- a/articles/Speed-Limiting-With-Apache-APISIX/index.html
+++ b/articles/Speed-Limiting-With-Apache-APISIX/index.html
@@ -4,25 +4,25 @@
 <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="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 实现限流限速 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 实现限流限速 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 d0bd26e..b8fd578 100644
--- a/articles/Test-Apache-APISIX-Resilience-With-Chaos-Mesh/index.html
+++ b/articles/Test-Apache-APISIX-Resilience-With-Chaos-Mesh/index.html
@@ -4,25 +4,25 @@
 <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="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">用 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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">用 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 1659e44..f350957 100644
--- a/articles/The-Appeal-of-OpenSource/index.html
+++ b/articles/The-Appeal-of-OpenSource/index.html
@@ -4,25 +4,25 @@
 <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="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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 1e40e89..b4ff871 100644
--- a/articles/The-Evolution-of-Apache-APISIX/index.html
+++ b/articles/The-Evolution-of-Apache-APISIX/index.html
@@ -4,25 +4,25 @@
 <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="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 的演变 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" 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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 的演变 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 a5fdd55..b1ca101 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
@@ -4,25 +4,25 @@
 <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="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 进行认证和授权 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 进行认证和授权 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/archive/index.html b/articles/archive/index.html
index c92f4a1..8faf210 100644
--- a/articles/archive/index.html
+++ b/articles/archive/index.html
@@ -4,25 +4,25 @@
 <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="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">Archive | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Archive | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.or [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/atom.xml b/articles/atom.xml
index a31f101..b3dfb76 100644
--- a/articles/atom.xml
+++ b/articles/atom.xml
@@ -1,24 +1,24 @@
 <?xml version="1.0" encoding="utf-8"?>
 <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-18T15:12:45.818Z</updated>
+    <title>Apache APISIX® -- Cloud-Native API Gateway Blog</title>
+    <updated>2021-11-18T15:37:39.274Z</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>
+    <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 从开源项目到商业化之路]]></title>
         <id>Apache APISIX 从开源项目到商业化之路</id>
         <link href="https://apisix.apache.org/articles/Apache-APISIX-From-OpenSource-Commercialization"/>
-        <updated>2021-11-18T15:12:45.818Z</updated>
+        <updated>2021-11-18T15:37:39.274Z</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-18T15:12:45.818Z</updated>
+        <updated>2021-11-18T15:37:39.274Z</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 b6fc96f..a8a2d4b 100644
--- a/articles/index.html
+++ b/articles/index.html
@@ -4,25 +4,25 @@
 <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="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">Article | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Article | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.or [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 412634c..2d8a45f 100644
--- a/articles/page/2/index.html
+++ b/articles/page/2/index.html
@@ -4,25 +4,25 @@
 <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="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">Article | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Article | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.or [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/rss.xml b/articles/rss.xml
index f1165bd..13d8d2b 100644
--- a/articles/rss.xml
+++ b/articles/rss.xml
@@ -1,24 +1,24 @@
 <?xml version="1.0" encoding="utf-8"?>
 <rss version="2.0">
     <channel>
-        <title>Apache APISIX® --  Cloud-Native API Gateway Blog</title>
+        <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>Thu, 18 Nov 2021 15:12:45 GMT</lastBuildDate>
+        <description>Apache APISIX® -- Cloud-Native API Gateway Blog</description>
+        <lastBuildDate>Thu, 18 Nov 2021 15:37:39 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>Thu, 18 Nov 2021 15:12:45 GMT</pubDate>
+            <pubDate>Thu, 18 Nov 2021 15:37:39 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>Thu, 18 Nov 2021 15:12:45 GMT</pubDate>
+            <pubDate>Thu, 18 Nov 2021 15:37:39 GMT</pubDate>
             <description><![CDATA[该演讲主题主要是讲述 Apache APISIX 在中国移动公有云对象存储 EOS 中的应用与实践经验分享。首先介绍了中国移动公有云建设规划及对象存储产品发展演进历程,然后阐述了我们为什么选择 APISIX 作为负载均衡网关,并对 EOS 流量治理架构演进三个阶段进行进行了详细介绍。同时,我们还分享了基于 APISIX 我们解决了哪些实际生产问题,做了哪些方案及开发工作,最后对我们未来的演进做了一些规划说明。]]></description>
         </item>
         <item>
diff --git a/assets/js/09b17eb5.08169f99.js b/assets/js/09b17eb5.724f4bea.js
similarity index 98%
rename from assets/js/09b17eb5.08169f99.js
rename to assets/js/09b17eb5.724f4bea.js
index 4a3979d..acd4221 100644
--- a/assets/js/09b17eb5.08169f99.js
+++ b/assets/js/09b17eb5.724f4bea.js
@@ -1 +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
+"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/19945770.8070e412.js b/assets/js/19945770.708d1ffd.js
similarity index 98%
rename from assets/js/19945770.8070e412.js
rename to assets/js/19945770.708d1ffd.js
index b353219..87c7ead 100644
--- a/assets/js/19945770.8070e412.js
+++ b/assets/js/19945770.708d1ffd.js
@@ -1 +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
+"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/3393d167.583dedcd.js b/assets/js/3393d167.4e420842.js
similarity index 97%
rename from assets/js/3393d167.583dedcd.js
rename to assets/js/3393d167.4e420842.js
index 2642ce5..94c30e9 100644
--- a/assets/js/3393d167.583dedcd.js
+++ b/assets/js/3393d167.4e420842.js
@@ -1 +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
+"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.7b4e6a89.js b/assets/js/358566b4.ab0e664f.js
similarity index 97%
rename from assets/js/358566b4.7b4e6a89.js
rename to assets/js/358566b4.ab0e664f.js
index 53eb563..7c0abd5 100644
--- a/assets/js/358566b4.7b4e6a89.js
+++ b/assets/js/358566b4.ab0e664f.js
@@ -1 +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
+"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.5b1d5309.js b/assets/js/3dc9f306.25894aad.js
similarity index 96%
rename from assets/js/3dc9f306.5b1d5309.js
rename to assets/js/3dc9f306.25894aad.js
index 5b851a3..89ce545 100644
--- a/assets/js/3dc9f306.5b1d5309.js
+++ b/assets/js/3dc9f306.25894aad.js
@@ -1 +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
+"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.f82cdef5.js b/assets/js/40fb2fae.5354c026.js
similarity index 95%
rename from assets/js/40fb2fae.f82cdef5.js
rename to assets/js/40fb2fae.5354c026.js
index 29cc5e2..e61454b 100644
--- a/assets/js/40fb2fae.f82cdef5.js
+++ b/assets/js/40fb2fae.5354c026.js
@@ -1 +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
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[32547],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/4c20006b.787f7876.js b/assets/js/4c20006b.1b507e9d.js
similarity index 96%
rename from assets/js/4c20006b.787f7876.js
rename to assets/js/4c20006b.1b507e9d.js
index b626e0e..f9533c7 100644
--- a/assets/js/4c20006b.787f7876.js
+++ b/assets/js/4c20006b.1b507e9d.js
@@ -1 +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
+"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.9ea12d60.js b/assets/js/4f9f5708.8eac6b21.js
similarity index 98%
rename from assets/js/4f9f5708.9ea12d60.js
rename to assets/js/4f9f5708.8eac6b21.js
index 6109338..dd9833b 100644
--- a/assets/js/4f9f5708.9ea12d60.js
+++ b/assets/js/4f9f5708.8eac6b21.js
@@ -1 +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
+"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.d795e447.js b/assets/js/507e1a4c.7fcd2390.js
similarity index 98%
rename from assets/js/507e1a4c.d795e447.js
rename to assets/js/507e1a4c.7fcd2390.js
index 2fe79a2..9c87c30 100644
--- a/assets/js/507e1a4c.d795e447.js
+++ b/assets/js/507e1a4c.7fcd2390.js
@@ -1 +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
+"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.0e8b0866.js b/assets/js/50facf8e.d5d517fd.js
similarity index 98%
rename from assets/js/50facf8e.0e8b0866.js
rename to assets/js/50facf8e.d5d517fd.js
index b944cc2..10c89d5 100644
--- a/assets/js/50facf8e.0e8b0866.js
+++ b/assets/js/50facf8e.d5d517fd.js
@@ -1 +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
+"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/542fd41f.6eae8b99.js b/assets/js/542fd41f.bb96be59.js
similarity index 96%
rename from assets/js/542fd41f.6eae8b99.js
rename to assets/js/542fd41f.bb96be59.js
index 2711a34..2fc1bf6 100644
--- a/assets/js/542fd41f.6eae8b99.js
+++ b/assets/js/542fd41f.bb96be59.js
@@ -1 +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
+"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/601c6eaa.6b685326.js b/assets/js/601c6eaa.57262626.js
similarity index 97%
rename from assets/js/601c6eaa.6b685326.js
rename to assets/js/601c6eaa.57262626.js
index ada77e6..b638034 100644
--- a/assets/js/601c6eaa.6b685326.js
+++ b/assets/js/601c6eaa.57262626.js
@@ -1 +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 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
+"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 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/66fbb9c2.cfbf0eff.js b/assets/js/66fbb9c2.9da914bf.js
similarity index 98%
rename from assets/js/66fbb9c2.cfbf0eff.js
rename to assets/js/66fbb9c2.9da914bf.js
index 424f1f0..27d8ef3 100644
--- a/assets/js/66fbb9c2.cfbf0eff.js
+++ b/assets/js/66fbb9c2.9da914bf.js
@@ -1 +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
+"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.e13b98d3.js b/assets/js/7af3052c.56df422f.js
similarity index 99%
rename from assets/js/7af3052c.e13b98d3.js
rename to assets/js/7af3052c.56df422f.js
index d340bd9..519ece3 100644
--- a/assets/js/7af3052c.e13b98d3.js
+++ b/assets/js/7af3052c.56df422f.js
@@ -1 +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
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[25032],{3905:function(e,a,t){t.d(a,{Zo:function(){return d},kt:function(){return u}});var n=t(67294);function i(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function r(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t [...]
\ No newline at end of file
diff --git a/assets/js/80791de8.a29c2ab1.js b/assets/js/80791de8.42e43dbc.js
similarity index 97%
rename from assets/js/80791de8.a29c2ab1.js
rename to assets/js/80791de8.42e43dbc.js
index 372005f..6c531ea 100644
--- a/assets/js/80791de8.a29c2ab1.js
+++ b/assets/js/80791de8.42e43dbc.js
@@ -1 +1 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[50466],{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
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[50466],{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/8e784bf3.f144cd3a.js b/assets/js/8e784bf3.cf4354cf.js
similarity index 99%
rename from assets/js/8e784bf3.f144cd3a.js
rename to assets/js/8e784bf3.cf4354cf.js
index 9bb0c06..4ed2a12 100644
--- a/assets/js/8e784bf3.f144cd3a.js
+++ b/assets/js/8e784bf3.cf4354cf.js
@@ -1 +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
+"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/8f700fa6.db73166a.js b/assets/js/8f700fa6.d568a3f8.js
similarity index 97%
rename from assets/js/8f700fa6.db73166a.js
rename to assets/js/8f700fa6.d568a3f8.js
index 809e838..596cea1 100644
--- a/assets/js/8f700fa6.db73166a.js
+++ b/assets/js/8f700fa6.d568a3f8.js
@@ -1 +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
+"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.42b75aed.js b/assets/js/90fc8a94.e37b4392.js
similarity index 98%
rename from assets/js/90fc8a94.42b75aed.js
rename to assets/js/90fc8a94.e37b4392.js
index 7331888..627134e 100644
--- a/assets/js/90fc8a94.42b75aed.js
+++ b/assets/js/90fc8a94.e37b4392.js
@@ -1 +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
+"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/941960b1.42ed3ad0.js b/assets/js/941960b1.c22b163d.js
similarity index 97%
rename from assets/js/941960b1.42ed3ad0.js
rename to assets/js/941960b1.c22b163d.js
index 166fa38..6bf6456 100644
--- a/assets/js/941960b1.42ed3ad0.js
+++ b/assets/js/941960b1.c22b163d.js
@@ -1 +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
+"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/adbb350b.388ce8d5.js b/assets/js/adbb350b.bd0dcb5f.js
similarity index 99%
rename from assets/js/adbb350b.388ce8d5.js
rename to assets/js/adbb350b.bd0dcb5f.js
index 803d205..6197485 100644
--- a/assets/js/adbb350b.388ce8d5.js
+++ b/assets/js/adbb350b.bd0dcb5f.js
@@ -1 +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
+"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/d18db9b0.a08d9f13.js b/assets/js/d18db9b0.183230ce.js
similarity index 96%
rename from assets/js/d18db9b0.a08d9f13.js
rename to assets/js/d18db9b0.183230ce.js
index 7cfd319..d031f04 100644
--- a/assets/js/d18db9b0.a08d9f13.js
+++ b/assets/js/d18db9b0.183230ce.js
@@ -1 +1 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[17825],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[17825],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/main.585c9561.js b/assets/js/main.585c9561.js
new file mode 100644
index 0000000..1979cb3
--- /dev/null
+++ b/assets/js/main.585c9561.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.585c9561.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.143867ea.js.LICENSE.txt b/assets/js/main.585c9561.js.LICENSE.txt
similarity index 100%
rename from zh/assets/js/main.143867ea.js.LICENSE.txt
rename to assets/js/main.585c9561.js.LICENSE.txt
diff --git a/assets/js/main.9e5fae57.js b/assets/js/main.9e5fae57.js
deleted file mode 100644
index 7c9e4be..0000000
--- a/assets/js/main.9e5fae57.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.9e5fae57.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 mana [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.4227a59b.js b/assets/js/runtime~main.d448f207.js
similarity index 97%
rename from assets/js/runtime~main.4227a59b.js
rename to assets/js/runtime~main.d448f207.js
index f6d28cf..3f807db 100644
--- a/assets/js/runtime~main.4227a59b.js
+++ b/assets/js/runtime~main.d448f207.js
@@ -1 +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
+!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 1037f7e..f7e0ffd 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
@@ -4,27 +4,27 @@
 <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="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 搭建网关 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 搭建网关 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 b2fbbbe..155f43b 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
@@ -4,27 +4,27 @@
 <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="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">Envoy and Apache APISIX: Another way to implement the Envoy filter | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 7f2315b..9ae19bb 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
@@ -4,25 +4,25 @@
 <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="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">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="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 e253390..5324a50 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
@@ -4,25 +4,25 @@
 <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="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 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="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 aae543e..910e062 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
@@ -4,26 +4,26 @@
 <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="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">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://ap [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 b114fdf..7afc21b 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
@@ -4,28 +4,28 @@
 <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="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">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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 dfa9181..072e731 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
@@ -4,27 +4,27 @@
 <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="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">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="http [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 e848d18..d96a18e 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
@@ -4,25 +4,25 @@
 <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="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">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="ht [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 e9588a8..797a43a 100644
--- a/blog/2021/05/24/Tencent-Games/index.html
+++ b/blog/2021/05/24/Tencent-Games/index.html
@@ -4,30 +4,30 @@
 <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="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">支持 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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">支持 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 4bd6fa9..d8828b7 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	
@@ -4,26 +4,26 @@
 <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="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 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" cont [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 ef05698..f957d7c 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
@@ -4,25 +4,25 @@
 <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="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">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- [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 3bf987c..b287217 100644
--- a/blog/2021/06/06/apisix-two-years/index.html
+++ b/blog/2021/06/06/apisix-two-years/index.html
@@ -4,25 +4,25 @@
 <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="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 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" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 e9fe2cc..e0ca1ee 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
@@ -4,25 +4,25 @@
 <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="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 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" c [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 d373bea..f44416f 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
@@ -4,29 +4,29 @@
 <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="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 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: [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 b39c772..ef07e5d 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
@@ -4,25 +4,25 @@
 <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="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">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" con [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 48290b5..ac17f3a 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
@@ -4,25 +4,25 @@
 <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="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 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-h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 94a9db6..d197034 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
@@ -4,25 +4,25 @@
 <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="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">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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 b2f5fb7..b8cbf5f 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
@@ -4,24 +4,24 @@
 <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="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">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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 b8b4729..2cb879b 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
@@ -4,25 +4,25 @@
 <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="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">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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 9b2420f..8d720d4 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
@@ -4,28 +4,28 @@
 <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="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">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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 7bd7a1a..9883066 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
@@ -4,25 +4,25 @@
 <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="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">Release Apache APISIX 2.7.0 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix. [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 89c32f7..a3e4561 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
@@ -4,27 +4,27 @@
 <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="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">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=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 c175723..17f4022 100644
--- a/blog/2021/07/06/celebrate-200-contributors/index.html
+++ b/blog/2021/07/06/celebrate-200-contributors/index.html
@@ -4,27 +4,27 @@
 <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="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 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="twitte [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 bf05b2a..31b29fa 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
@@ -4,26 +4,26 @@
 <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="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">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="twitte [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 64b06ec..cb97c92 100644
--- a/blog/2021/07/21/Apache-APISIX-Kubernetes/index.html
+++ b/blog/2021/07/21/Apache-APISIX-Kubernetes/index.html
@@ -4,27 +4,27 @@
 <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="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 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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 0e52074..4a183a8 100644
--- a/blog/2021/07/25/apachecon-asia/index.html
+++ b/blog/2021/07/25/apachecon-asia/index.html
@@ -4,25 +4,25 @@
 <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="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">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"  [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 c2b53a7..cf1da2e 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
@@ -4,31 +4,31 @@
 <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="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">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" conte [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 1f93ce6..2746d39 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
@@ -4,26 +4,26 @@
 <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="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">Release Apache APISIX 2.8.0 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix. [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 e7e20cf..b5b066f 100644
--- a/blog/2021/08/05/Kong-to-APISIX/index.html
+++ b/blog/2021/08/05/Kong-to-APISIX/index.html
@@ -4,31 +4,31 @@
 <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="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">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://apisi [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 37e9cc0..5b7faf6 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
@@ -4,27 +4,27 @@
 <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="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">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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 2474c31..d218b69 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
@@ -4,25 +4,25 @@
 <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="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 在移动云的应用 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 在移动云的应用 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 4422495..1d4bc88 100644
--- a/blog/2021/08/09/Apache-APISIX-in-Quliankeji/index.html
+++ b/blog/2021/08/09/Apache-APISIX-in-Quliankeji/index.html
@@ -4,25 +4,25 @@
 <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="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">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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 abea022..35bfafa 100644
--- a/blog/2021/08/10/apisix-nginx/index.html
+++ b/blog/2021/08/10/apisix-nginx/index.html
@@ -4,24 +4,24 @@
 <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="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 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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 5b304c6..24a6789 100644
--- a/blog/2021/08/11/interview-TuZhengsong/index.html
+++ b/blog/2021/08/11/interview-TuZhengsong/index.html
@@ -4,25 +4,25 @@
 <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="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">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"  [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 1405c7b..0ba018d 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
@@ -4,25 +4,25 @@
 <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="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">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:ima [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 8ac5f86..45b57ce 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
@@ -4,27 +4,27 @@
 <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="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">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:ima [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 a710e6f..0e8496b 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
@@ -4,30 +4,30 @@
 <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="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">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-helme [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 fc25cc5..aa84de5 100644
--- a/blog/2021/08/17/interview-airwallex/index.html
+++ b/blog/2021/08/17/interview-airwallex/index.html
@@ -4,25 +4,25 @@
 <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="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 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-re [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 65e1d7f..67a968f 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
@@ -4,24 +4,24 @@
 <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="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">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="http [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 8d61f97..d41c392 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
@@ -4,28 +4,28 @@
 <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="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">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=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 5ecb3b0..7bdb4e4 100644
--- a/blog/2021/08/19/weekly-report/index.html
+++ b/blog/2021/08/19/weekly-report/index.html
@@ -4,24 +4,24 @@
 <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="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 社区周报 | 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:// [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 社区周报 | 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 19d615c..29629d8 100644
--- a/blog/2021/08/21/shanghai-meetup/index.html
+++ b/blog/2021/08/21/shanghai-meetup/index.html
@@ -4,25 +4,25 @@
 <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="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">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="twitt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 7d63d9c..b16d3fb 100644
--- a/blog/2021/08/23/ApacheCon-Asia-2021/index.html
+++ b/blog/2021/08/23/ApacheCon-Asia-2021/index.html
@@ -4,25 +4,25 @@
 <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="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">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.o [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 f8ee61c..8c53533 100644
--- a/blog/2021/08/23/weekly-report/index.html
+++ b/blog/2021/08/23/weekly-report/index.html
@@ -4,24 +4,24 @@
 <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="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 社区周报 | 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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 社区周报 | 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 1c774f8..56d0b39 100644
--- a/blog/2021/08/24/shanghai-meetup-recap/index.html
+++ b/blog/2021/08/24/shanghai-meetup-recap/index.html
@@ -4,25 +4,25 @@
 <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="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 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://ap [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 d4ecc0d..f02ef13 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
@@ -4,24 +4,24 @@
 <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="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">Authorization with Casbin in Apache APISIX | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 c5c9622..cb19537 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
@@ -4,30 +4,30 @@
 <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="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">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="t [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 a5d9dd8..9976d03 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
@@ -4,28 +4,28 @@
 <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="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">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: [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 704cbb4..b63ca1d 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
@@ -4,25 +4,25 @@
 <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="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">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.ap [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 9e32c3d..6078e5f 100644
--- a/blog/2021/08/30/Ingress-Meeting/index.html
+++ b/blog/2021/08/30/Ingress-Meeting/index.html
@@ -4,27 +4,27 @@
 <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="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">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-he [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 ed3103c..f20bc74 100644
--- a/blog/2021/08/30/weekly-report/index.html
+++ b/blog/2021/08/30/weekly-report/index.html
@@ -4,25 +4,25 @@
 <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="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 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:imag [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 3775ca8..548b3cb 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"	
@@ -4,26 +4,26 @@
 <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="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 × 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-helme [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 × 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 ab55227..5531c6b 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
@@ -4,24 +4,24 @@
 <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="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">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" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 2958839..c575807 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
@@ -4,25 +4,25 @@
 <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="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">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="t [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 54838e1..5e6761c 100644
--- a/blog/2021/09/07/iQIYI-usercase/index.html
+++ b/blog/2021/09/07/iQIYI-usercase/index.html
@@ -4,25 +4,25 @@
 <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="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">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" nam [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 1cb169a..c7c345e 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
@@ -4,25 +4,25 @@
 <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="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">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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 862d6d4..47580c6 100644
--- a/blog/2021/09/13/china-mobile-cloud-usercase/index.html
+++ b/blog/2021/09/13/china-mobile-cloud-usercase/index.html
@@ -4,27 +4,27 @@
 <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="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">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:imag [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 657428f..935a496 100644
--- a/blog/2021/09/14/youzan/index.html
+++ b/blog/2021/09/14/youzan/index.html
@@ -4,25 +4,25 @@
 <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="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 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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 ecbf9bd..d464914 100644
--- a/blog/2021/09/15/weekly-report/index.html
+++ b/blog/2021/09/15/weekly-report/index.html
@@ -4,27 +4,27 @@
 <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="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">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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 8cbf2b5..9cae22b 100644
--- a/blog/2021/09/16/tencent-cloud/index.html
+++ b/blog/2021/09/16/tencent-cloud/index.html
@@ -4,25 +4,25 @@
 <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="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">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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 24b2dc9..251e633 100644
--- a/blog/2021/09/18/xiaodian-usercase/index.html
+++ b/blog/2021/09/18/xiaodian-usercase/index.html
@@ -4,25 +4,25 @@
 <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="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 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="twitte [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 2d977f3..14fb841 100644
--- a/blog/2021/09/24/youpaicloud-usercase/index.html
+++ b/blog/2021/09/24/youpaicloud-usercase/index.html
@@ -4,25 +4,25 @@
 <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="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">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-rea [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 48c7130..34c7d08 100644
--- a/blog/2021/09/28/WPS-usercase/index.html
+++ b/blog/2021/09/28/WPS-usercase/index.html
@@ -4,25 +4,25 @@
 <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="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">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" n [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 83a3ae3..487b6e9 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
@@ -4,25 +4,25 @@
 <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="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">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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 78f3076..9b31dfa 100644
--- a/blog/2021/09/30/weekly-report/index.html
+++ b/blog/2021/09/30/weekly-report/index.html
@@ -4,25 +4,25 @@
 <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="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">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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 45175bd..541264c 100644
--- a/blog/2021/10/01/openEuler/index.html
+++ b/blog/2021/10/01/openEuler/index.html
@@ -4,25 +4,25 @@
 <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="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 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-rea [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 2617ec9..ee368b4 100644
--- a/blog/2021/10/09/apisix-ingress-techblog/index.html
+++ b/blog/2021/10/09/apisix-ingress-techblog/index.html
@@ -4,26 +4,26 @@
 <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="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">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-reac [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 8201c6c..bd3b5cf 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
@@ -4,27 +4,27 @@
 <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="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">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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 8e8ea41..699bed0 100644
--- a/blog/2021/10/14/weekly-report-1014/index.html
+++ b/blog/2021/10/14/weekly-report-1014/index.html
@@ -4,25 +4,25 @@
 <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="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">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="t [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 d3a91a4..5a8e821 100644
--- a/blog/2021/10/18/meetup/index.html
+++ b/blog/2021/10/18/meetup/index.html
@@ -4,26 +4,26 @@
 <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="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">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:i [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 48dbd55..171651e 100644
--- a/blog/2021/10/22/cert-manager-in-ingress/index.html
+++ b/blog/2021/10/22/cert-manager-in-ingress/index.html
@@ -4,30 +4,30 @@
 <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="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">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- [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 80fcdc9..d62be5b 100644
--- a/blog/2021/10/26/APISIX-Ingress/index.html
+++ b/blog/2021/10/26/APISIX-Ingress/index.html
@@ -4,27 +4,27 @@
 <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="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">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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 c432fa4..fb94ddf 100644
--- a/blog/2021/10/29/Extension-guide/index.html
+++ b/blog/2021/10/29/Extension-guide/index.html
@@ -4,24 +4,24 @@
 <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="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 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://apis [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 48405c3..3b2745e 100644
--- a/blog/2021/11/02/weekly-report-1031/index.html
+++ b/blog/2021/11/02/weekly-report-1031/index.html
@@ -4,26 +4,26 @@
 <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="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">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="twi [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 3421ec8..ed3739d 100644
--- a/blog/2021/11/03/airwallex-usercase/index.html
+++ b/blog/2021/11/03/airwallex-usercase/index.html
@@ -4,26 +4,26 @@
 <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="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">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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 b6f9c09..4bb23f3 100644
--- a/blog/2021/11/04/skywalking/index.html
+++ b/blog/2021/11/04/skywalking/index.html
@@ -4,25 +4,25 @@
 <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="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">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:// [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 8e2f65c..0742cff 100644
--- a/blog/2021/11/12/apisix-datadog/index.html
+++ b/blog/2021/11/12/apisix-datadog/index.html
@@ -4,26 +4,26 @@
 <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="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">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" conte [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 7ba4eeb..a341f90 100644
--- a/blog/2021/11/16/weekly-report-1114/index.html
+++ b/blog/2021/11/16/weekly-report-1114/index.html
@@ -4,25 +4,25 @@
 <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="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">Weekly Report|11.1-11.4 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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">Weekly Report|11.1-11.4 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="twitte [...]
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 8079868..313e9b7 100644
--- a/blog/2021/11/17/dapr-with-apisix/index.html
+++ b/blog/2021/11/17/dapr-with-apisix/index.html
@@ -4,28 +4,28 @@
 <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="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">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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/archive/index.html b/blog/archive/index.html
index f0feb11..6273ab4 100644
--- a/blog/archive/index.html
+++ b/blog/archive/index.html
@@ -4,25 +4,25 @@
 <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="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">Archive | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Archive | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.or [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/atom.xml b/blog/atom.xml
index 9277cc7..94bc725 100644
--- a/blog/atom.xml
+++ b/blog/atom.xml
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <feed xmlns="http://www.w3.org/2005/Atom">
     <id>https://apisix.apache.org/blog</id>
-    <title>Apache APISIX® --  Cloud-Native API Gateway Blog</title>
+    <title>Apache APISIX® -- Cloud-Native API Gateway Blog</title>
     <updated>2021-11-17T00: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>
+    <subtitle>Apache APISIX® -- Cloud-Native API Gateway Blog</subtitle>
     <icon>https://apisix.apache.org/img/favicon.png</icon>
     <entry>
         <title type="html"><![CDATA[How to integrate with Dapr to build Apache APISIX Gateway Controller]]></title>
diff --git a/blog/index.html b/blog/index.html
index 1ffd3af..eed6754 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -4,25 +4,25 @@
 <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="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">Blog | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 2b02ced..bcf3018 100644
--- a/blog/page/2/index.html
+++ b/blog/page/2/index.html
@@ -4,25 +4,25 @@
 <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="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">Blog | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 2fc96ef..63f60ca 100644
--- a/blog/page/3/index.html
+++ b/blog/page/3/index.html
@@ -4,25 +4,25 @@
 <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="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">Blog | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 ba4fecc..01d16ab 100644
--- a/blog/page/4/index.html
+++ b/blog/page/4/index.html
@@ -4,25 +4,25 @@
 <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="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">Blog | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 112b975..5825ec9 100644
--- a/blog/page/5/index.html
+++ b/blog/page/5/index.html
@@ -4,25 +4,25 @@
 <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="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">Blog | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 90a5054..a15ca1b 100644
--- a/blog/page/6/index.html
+++ b/blog/page/6/index.html
@@ -4,25 +4,25 @@
 <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="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">Blog | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 957dfcf..681b217 100644
--- a/blog/page/7/index.html
+++ b/blog/page/7/index.html
@@ -4,25 +4,25 @@
 <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="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">Blog | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 1ee0e8d..2ee7a19 100644
--- a/blog/page/8/index.html
+++ b/blog/page/8/index.html
@@ -4,25 +4,25 @@
 <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="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">Blog | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/rss.xml b/blog/rss.xml
index eb2e095..6f87991 100644
--- a/blog/rss.xml
+++ b/blog/rss.xml
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <rss version="2.0">
     <channel>
-        <title>Apache APISIX® --  Cloud-Native API Gateway Blog</title>
+        <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>
+        <description>Apache APISIX® -- Cloud-Native API Gateway Blog</description>
         <lastBuildDate>Wed, 17 Nov 2021 00:00:00 GMT</lastBuildDate>
         <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
         <generator>https://github.com/jpmonette/feed</generator>
diff --git a/blog/tags/community/index.html b/blog/tags/community/index.html
index 1894ca0..3166954 100644
--- a/blog/tags/community/index.html
+++ b/blog/tags/community/index.html
@@ -4,25 +4,25 @@
 <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="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">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 [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 dde6bbd..1e3460a 100644
--- a/blog/tags/events/index.html
+++ b/blog/tags/events/index.html
@@ -4,25 +4,25 @@
 <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="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">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-hel [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/tags/index.html b/blog/tags/index.html
index 396338d..f5dc654 100644
--- a/blog/tags/index.html
+++ b/blog/tags/index.html
@@ -4,25 +4,25 @@
 <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="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">Tags | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Tags | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 748007c..7a7ba3f 100644
--- a/blog/tags/interview/index.html
+++ b/blog/tags/interview/index.html
@@ -4,25 +4,25 @@
 <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="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">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 [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 bfdd615..f8e99fa 100644
--- a/blog/tags/practical-case/index.html
+++ b/blog/tags/practical-case/index.html
@@ -4,25 +4,25 @@
 <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="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">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"><met [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 cb1a227..60e3f6a 100644
--- a/blog/tags/release/index.html
+++ b/blog/tags/release/index.html
@@ -4,25 +4,25 @@
 <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="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">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-hel [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 f99c8c1..b9e0e1b 100644
--- a/blog/tags/security/index.html
+++ b/blog/tags/security/index.html
@@ -4,25 +4,25 @@
 <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="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">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-h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 c95f652..b5e9e54 100644
--- a/blog/tags/technology/index.html
+++ b/blog/tags/technology/index.html
@@ -4,25 +4,25 @@
 <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="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">17 posts tagged with &quot;Technology&quot; | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="17 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-r [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">17 posts tagged with &quot;Technology&quot; | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="17 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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 52d29b7..271de5e 100644
--- a/blog/tags/user-case/index.html
+++ b/blog/tags/user-case/index.html
@@ -4,25 +4,25 @@
 <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="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">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-rea [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/data/events.json b/data/events.json
index aacd13e..cce7b3d 100644
--- a/data/events.json
+++ b/data/events.json
@@ -1,20 +1,26 @@
 [
-  {"title": "Weekly Report|10.15-10.31 Feature Highlights Update in Progress",
+  {
+    "title": "Weekly Report|10.15-10.31 Feature Highlights Update in Progress",
     "fileName": "2021-11-02-weekly-report-1031"
   },
-  {"title": "Webinar | Apache APISIX × Apache SkyWalking Online Meetup",
+  {
+    "title": "Webinar | Apache APISIX × Apache SkyWalking Online Meetup",
     "fileName": "2021-10-18-meetup"
   },
-  {"title": "Community Weekly|10.1-10.14 Feature Highlight Updates in Progress",
+  {
+    "title": "Community Weekly|10.1-10.14 Feature Highlight Updates in Progress",
     "fileName": "2021-10-14-weekly-report-1014"
   },
-  {"title": "New milestone for the Apache APISIX community - over 300 contributors worldwide!",
+  {
+    "title": "New milestone for the Apache APISIX community - over 300 contributors worldwide!",
     "fileName": "2021-10-13-celebrating-300-contributors-of-apisix"
   },
-  {"title": "社区周报|新晋 committer 两位,功能亮点更新进行中",
+  {
+    "title": "社区周报|新晋 committer 两位,功能亮点更新进行中",
     "fileName": "2021-09-15-weekly-report"
   },
-  {"title": "Apache APISIX 2.9 Release",
+  {
+    "title": "Apache APISIX 2.9 Release",
     "fileName": "2021-08-27-release-apache-apisix-2.9"
   },
   {
diff --git a/data/plugin.json b/data/plugin.json
deleted file mode 100644
index d8f451b..0000000
--- a/data/plugin.json
+++ /dev/null
@@ -1,204 +0,0 @@
-[
-    {
-        "groupName": "authentication",
-        "plugins": [
-            {
-                "name": "authz-keycloak",
-                "description": "An authorization plugin to be used with the Keycloak Identity Server"
-            },
-            {
-                "name": "basic-auth",
-                "description": "An authentication plugin that need to work with consumer to add Basic Authentication to a Service or a Route"
-            },
-            {
-                "name": "hmac-auth",
-                "description": "An authentication plugin that need to work with consumer to establish the integrity of incoming requests"
-            },
-            {
-                "name": "jwt-auth",
-                "description": "An authentication plugin that need to work with consumer to securely authenticate a valid user requesting access"
-            },
-            {
-                "name": "key-auth",
-                "description": "An authentication plugin that need to work with consumer to add key authentication to your Services"
-            },
-            {
-                "name": "openid-connect",
-                "description": "An authentication plugin that provides authentication and introspection capability to APISIX"
-            }
-        ]
-    },
-    {
-        "groupName": "security",
-        "plugins": [
-            {
-                "name": "api-breaker",
-                "description": "The plugin implements API fuse functionality to help us protect our upstream business services"
-            },
-            {
-                "name": "consumer-restriction",
-                "description": "The plugin makes corresponding access restrictions based on different objects selected"
-            },
-            {
-                "name": "cors",
-                "description": "The plugin can help you enable CORS easily"
-            },
-            {
-                "name": "fault-injection",
-                "description": "The plugin provides the ability to deliberately cause a service to fail, in order to test failure in a complex distributed solution"
-            },
-            {
-                "name": "ip-restriction",
-                "description": "The ip-restriction can restrict access to a Service or a Route by either whitelisting or blacklisting IP addresses"
-            },
-            {
-                "name": "referer-restriction",
-                "description": "The referer-restriction can restrict access to a Service or a Route by whitelisting request header Referrers"
-            },
-            {
-                "name": "request-validation",
-                "description": "The request-validation plugin validates the requests before forwarding to an upstream service"
-            },
-            {
-                "name": "uri-blocker",
-                "description": "The plugin helps to intercept user requests"
-            }
-        ]
-    },
-    {
-        "groupName": "Traffic Control",
-        "plugins": [
-            {
-                "name": "limit-conn",
-                "description": "The plugin  Limits request concurrency"
-            },
-            {
-                "name": "limit-count",
-                "description": "The plugin Limits request rate by a fixed number of requests in a given time window"
-            },
-            {
-                "name": "limit-req",
-                "description": "The plugin limits request rate using the eaky bucket method"
-            },
-            {
-                "name": "traffic-split",
-                "description": "The traffic split plugin allows users to incrementally direct percentages of traffic between various upstreams"
-            }
-        ]
-    },
-    {
-        "groupName": "Serverless",
-        "plugins": [
-            {
-                "name": "serverless-pre-function",
-                "description": "The serverless-pre-function runs at the beginning of the specified phase"
-            },
-            {
-                "name": "serverless-post-function",
-                "description": "The serverless-post-function runs at the end of the specified phase"
-            }
-        ]
-    },
-    {
-        "groupName": "Observability",
-        "plugins": [
-            {
-                "name": "error-log-logger",
-                "description": "Error-log-logger is a plugin which pushes the log data of APISIX's error.log to TCP servers"
-            },
-            {
-                "name": "http-logger",
-                "description": "Http-logger is a plugin which push Log data requests to HTTP/HTTPS servers"
-            },
-            {
-                "name": "kafka-logger",
-                "description": "Kafka-logger is a plugin which works as a Kafka client driver for the ngx_lua nginx module"
-            },
-            {
-                "name": "prometheus",
-                "description": "The plugin exposes metrics in Prometheus Exposition format"
-            },
-            {
-                "name": "request-id",
-                "description": "The plugin adds a unique ID (UUID) to each request proxied through APISIX"
-            },
-            {
-                "name": "skywalking",
-                "description": "Skywalking uses its native Nginx LUA tracer to provide tracing, topology analysis, and metrics from service and URI perspective"
-            },
-            {
-                "name": "sls-logger",
-                "description": "Sls-logger pushes Log data requests to ali cloud Log Server with RF5424"
-            },
-            {
-                "name": "syslog",
-                "description": "Sys pushes Log data requests to Syslog"
-            },
-            {
-                "name": "tcp-logger",
-                "description": "Tcp-logger pushes Log data requests to TCP servers"
-            },
-            {
-                "name": "udp-logger",
-                "description": "Udp-logger pushes Log data requests to UDP servers"
-            },
-            {
-                "name": "zipkin",
-                "description": "Zipkin is a OpenTracing plugin"
-            },
-            {
-                "name": "datadog",
-                "description": "Datadog is a monitoring plugin built into Apache APISIX to push metrics of different services into DatadogHQ via a locally run Datadog agent.",
-                "beta": true
-            }
-        ]
-    },
-    {
-        "groupName": "other",
-        "plugins": [
-            {
-                "name": "batch-requests",
-                "description": "Batch-requests accepts multiple request and send them from apisix via http pipeline"
-            },
-            {
-                "name": "grpc-transcode",
-                "description": "Grpc-transcoding involves mapping HTTP/JSON requests and their parameters to gRPC methods and their parameters and return types"
-            },
-            {
-                "name": "proxy-cache",
-                "description": "The proxy-cache plugin provides the ability to cache upstream response data and can be used with other plugins"
-            },
-            {
-                "name": "proxy-mirror",
-                "description": "The proxy-mirror plugin provides the ability to mirror client requests"
-            },
-            {
-                "name": "proxy-rewrite",
-                "description": "The proxy-rewrite is an upstream proxy information rewriting plugin"
-            },
-            {
-                "name": "response-rewrite",
-                "description": "Response-rewrite rewrites the content returned by the upstream as well as Apache APISIX itself"
-            },
-            {
-                "name": "wolf-rbac",
-                "description": "Wolf-rbac is an authentication and authorization (rbac) plugin where the rbac feature is provided by wolf"
-            },
-            {
-                "name": "client-control",
-                "description": "The client-control plugin dynamically controls the behavior of Nginx to handle the client request",
-                "useDefaultIcon": true
-            },
-            {
-                "name": "ext-plugin-pre-req",
-                "description": "The ext-plugin-pre-req runs specific external plugins in the plugin runner, before executing most of the builtin Lua plugins",
-                "useDefaultIcon": true
-            },
-            {
-                "name": "ext-plugin-post-req",
-                "description": "The ext-plugin-post-req runs after executing builtin Lua plugins and before proxying to the upstream",
-                "useDefaultIcon": true
-            }
-        ]
-    }
-]
diff --git a/data/plugins.json b/data/plugins.json
new file mode 100644
index 0000000..9652b63
--- /dev/null
+++ b/data/plugins.json
@@ -0,0 +1,204 @@
+[
+  {
+    "groupName": "authentication",
+    "plugins": [
+      {
+        "name": "authz-keycloak",
+        "description": "An authorization plugin to be used with the Keycloak Identity Server"
+      },
+      {
+        "name": "basic-auth",
+        "description": "An authentication plugin that need to work with consumer to add Basic Authentication to a Service or a Route"
+      },
+      {
+        "name": "hmac-auth",
+        "description": "An authentication plugin that need to work with consumer to establish the integrity of incoming requests"
+      },
+      {
+        "name": "jwt-auth",
+        "description": "An authentication plugin that need to work with consumer to securely authenticate a valid user requesting access"
+      },
+      {
+        "name": "key-auth",
+        "description": "An authentication plugin that need to work with consumer to add key authentication to your Services"
+      },
+      {
+        "name": "openid-connect",
+        "description": "An authentication plugin that provides authentication and introspection capability to APISIX"
+      }
+    ]
+  },
+  {
+    "groupName": "security",
+    "plugins": [
+      {
+        "name": "api-breaker",
+        "description": "The plugin implements API fuse functionality to help us protect our upstream business services"
+      },
+      {
+        "name": "consumer-restriction",
+        "description": "The plugin makes corresponding access restrictions based on different objects selected"
+      },
+      {
+        "name": "cors",
+        "description": "The plugin can help you enable CORS easily"
+      },
+      {
+        "name": "fault-injection",
+        "description": "The plugin provides the ability to deliberately cause a service to fail, in order to test failure in a complex distributed solution"
+      },
+      {
+        "name": "ip-restriction",
+        "description": "The ip-restriction can restrict access to a Service or a Route by either whitelisting or blacklisting IP addresses"
+      },
+      {
+        "name": "referer-restriction",
+        "description": "The referer-restriction can restrict access to a Service or a Route by whitelisting request header Referrers"
+      },
+      {
+        "name": "request-validation",
+        "description": "The request-validation plugin validates the requests before forwarding to an upstream service"
+      },
+      {
+        "name": "uri-blocker",
+        "description": "The plugin helps to intercept user requests"
+      }
+    ]
+  },
+  {
+    "groupName": "Traffic Control",
+    "plugins": [
+      {
+        "name": "limit-conn",
+        "description": "The plugin  Limits request concurrency"
+      },
+      {
+        "name": "limit-count",
+        "description": "The plugin Limits request rate by a fixed number of requests in a given time window"
+      },
+      {
+        "name": "limit-req",
+        "description": "The plugin limits request rate using the eaky bucket method"
+      },
+      {
+        "name": "traffic-split",
+        "description": "The traffic split plugin allows users to incrementally direct percentages of traffic between various upstreams"
+      }
+    ]
+  },
+  {
+    "groupName": "Serverless",
+    "plugins": [
+      {
+        "name": "serverless-pre-function",
+        "description": "The serverless-pre-function runs at the beginning of the specified phase"
+      },
+      {
+        "name": "serverless-post-function",
+        "description": "The serverless-post-function runs at the end of the specified phase"
+      }
+    ]
+  },
+  {
+    "groupName": "Observability",
+    "plugins": [
+      {
+        "name": "error-log-logger",
+        "description": "Error-log-logger is a plugin which pushes the log data of APISIX's error.log to TCP servers"
+      },
+      {
+        "name": "http-logger",
+        "description": "Http-logger is a plugin which push Log data requests to HTTP/HTTPS servers"
+      },
+      {
+        "name": "kafka-logger",
+        "description": "Kafka-logger is a plugin which works as a Kafka client driver for the ngx_lua nginx module"
+      },
+      {
+        "name": "prometheus",
+        "description": "The plugin exposes metrics in Prometheus Exposition format"
+      },
+      {
+        "name": "request-id",
+        "description": "The plugin adds a unique ID (UUID) to each request proxied through APISIX"
+      },
+      {
+        "name": "skywalking",
+        "description": "Skywalking uses its native Nginx LUA tracer to provide tracing, topology analysis, and metrics from service and URI perspective"
+      },
+      {
+        "name": "sls-logger",
+        "description": "Sls-logger pushes Log data requests to ali cloud Log Server with RF5424"
+      },
+      {
+        "name": "syslog",
+        "description": "Sys pushes Log data requests to Syslog"
+      },
+      {
+        "name": "tcp-logger",
+        "description": "Tcp-logger pushes Log data requests to TCP servers"
+      },
+      {
+        "name": "udp-logger",
+        "description": "Udp-logger pushes Log data requests to UDP servers"
+      },
+      {
+        "name": "zipkin",
+        "description": "Zipkin is a OpenTracing plugin"
+      },
+      {
+        "name": "datadog",
+        "description": "Datadog is a monitoring plugin built into Apache APISIX to push metrics of different services into DatadogHQ via a locally run Datadog agent.",
+        "beta": true
+      }
+    ]
+  },
+  {
+    "groupName": "other",
+    "plugins": [
+      {
+        "name": "batch-requests",
+        "description": "Batch-requests accepts multiple request and send them from apisix via http pipeline"
+      },
+      {
+        "name": "grpc-transcode",
+        "description": "Grpc-transcoding involves mapping HTTP/JSON requests and their parameters to gRPC methods and their parameters and return types"
+      },
+      {
+        "name": "proxy-cache",
+        "description": "The proxy-cache plugin provides the ability to cache upstream response data and can be used with other plugins"
+      },
+      {
+        "name": "proxy-mirror",
+        "description": "The proxy-mirror plugin provides the ability to mirror client requests"
+      },
+      {
+        "name": "proxy-rewrite",
+        "description": "The proxy-rewrite is an upstream proxy information rewriting plugin"
+      },
+      {
+        "name": "response-rewrite",
+        "description": "Response-rewrite rewrites the content returned by the upstream as well as Apache APISIX itself"
+      },
+      {
+        "name": "wolf-rbac",
+        "description": "Wolf-rbac is an authentication and authorization (rbac) plugin where the rbac feature is provided by wolf"
+      },
+      {
+        "name": "client-control",
+        "description": "The client-control plugin dynamically controls the behavior of Nginx to handle the client request",
+        "useDefaultIcon": true
+      },
+      {
+        "name": "ext-plugin-pre-req",
+        "description": "The ext-plugin-pre-req runs specific external plugins in the plugin runner, before executing most of the builtin Lua plugins",
+        "useDefaultIcon": true
+      },
+      {
+        "name": "ext-plugin-post-req",
+        "description": "The ext-plugin-post-req runs after executing builtin Lua plugins and before proxying to the upstream",
+        "useDefaultIcon": true
+      }
+    ]
+  }
+]
diff --git a/data/team.json b/data/team.json
deleted file mode 100644
index 16f5c96..0000000
--- a/data/team.json
+++ /dev/null
@@ -1,246 +0,0 @@
-[
-  {
-    "groupName": "PMC",
-    "members": [
-      {
-        "name": "Ayeshmantha Perera",
-        "username": "akayeshmantha",
-        "githubUsername": "Akayeshmantha",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/20354461?v=4"
-      },
-      {
-        "name": "Hui Li",
-        "username": "yousa",
-        "githubUsername": "Miss-you",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/3816205?v=4"
-      },
-      {
-        "name": "Jiayu Qiu",
-        "username": "qiujiayu",
-        "githubUsername": "qiujiayu",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/3702914?v=4"
-      },
-      {
-        "name": "JinChao Shuai",
-        "username": "shuaijinchao",
-        "githubUsername": "shuaijinchao",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/8529452?v=4"
-      },
-      {
-        "name": "Justin Mclean",
-        "username": "jmclean",
-        "githubUsername": "justinmclean",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/144504?v=4"
-      },
-      {
-        "name": "Junxu Chen",
-        "username": "chenjunxu",
-        "githubUsername": "nic-chen",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/33000667?v=4"
-      },
-      {
-        "name": "Kevin Ratnasekera",
-        "username": "djkevincr",
-        "githubUsername": "djkevincr",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/1346010?v=4"
-      },
-      {
-        "name": "Lang Wang",
-        "username": "totemofwolf",
-        "githubUsername": "totemofwolf",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/1818214?v=4"
-      },
-      {
-        "name": "Ling Li",
-        "username": "liling",
-        "githubUsername": "lilien1010",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/3814966?v=4"
-      },
-      {
-        "name": "Linsir Wu",
-        "username": "linsir",
-        "githubUsername": "linsir",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/4339659?v=4"
-      },
-      {
-        "name": "Ming Wen",
-        "username": "wenming",
-        "githubUsername": "moonming",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/26448043?v=4"
-      },
-      {
-        "name": "Nirojan Selvanathan",
-        "username": "sshniro",
-        "githubUsername": "sshniro",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/13045528?v=4"
-      },
-      {
-        "name": "Sheng Wu",
-        "username": "wusheng",
-        "githubUsername": "wu-sheng",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/5441976?v=4"
-      },
-      {
-        "name": "Vinci",
-        "username": "vinci",
-        "githubUsername": "ShiningRush",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/24238012?v=4"
-      },
-      {
-        "name": "Von Gosling",
-        "username": "vongosling",
-        "githubUsername": "vongosling",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/635581?v=4"
-      },
-      {
-        "name": "Wei Jin",
-        "username": "kvn",
-        "githubUsername": "gxthrj",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/4413028?v=4"
-      },
-      {
-        "name": "Wei Liu",
-        "username": "agile6v",
-        "githubUsername": "agile6v",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/2017491?v=4"
-      },
-      {
-        "name": "Willem Ning Jiang",
-        "username": "ningjiang",
-        "githubUsername": "WillemJiang",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/219644?v=4"
-      },
-      {
-        "name": "Xiran Liu",
-        "username": "liuxiran",
-        "githubUsername": "liuxiran",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/2561857?v=4"
-      },
-      {
-        "name": "YuanSheng Wang",
-        "username": "membphis",
-        "githubUsername": "membphis",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/6814606?v=4"
-      },
-      {
-        "name": "Zexuan Luo",
-        "username": "spacewander",
-        "githubUsername": "spacewander",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/4161644?v=4"
-      },
-      {
-        "name": "Zhiyuan",
-        "username": "juzhiyuan",
-        "githubUsername": "juzhiyuan",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/2106987?v=4"
-      },
-      {
-        "name": "Chao Zhang",
-        "username": "tokers",
-        "githubUsername": "tokers",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/10428333?v=4"
-      }
-    ]
-  },
-  {
-    "groupName": "Committer",
-    "members": [
-      {
-        "name": "acmly",
-        "username": "yangli",
-        "githubUsername": "JanLi-air",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/55779084?v=4"
-      },
-      {
-        "name": "Joey Ma",
-        "username": "majunjie",
-        "githubUsername": "imjoey",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/2542401?v=4"
-      },
-      {
-        "name": "Ke Tang",
-        "username": "tangke",
-        "githubUsername": "supermario1990",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/8428531?v=4"
-      },
-      {
-        "name": "Li Zhiyong",
-        "username": "lizhiyong",
-        "githubUsername": "zhiyong0804",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/15864088?v=4"
-      },
-      {
-        "name": "Shuyang Wu",
-        "username": "shuyangw",
-        "githubUsername": "yiyiyimu",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/34589752?v=4"
-      },
-      {
-        "name": "Suo Zhang",
-        "username": "coolsoul",
-        "githubUsername": "soulsoul",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/4963471?v=4"
-      },
-      {
-        "name": "Xinxin Zhu",
-        "username": "starsz",
-        "githubUsername": "starsz",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/25628854?v=4"
-      },
-      {
-        "name": "Yi Sun",
-        "username": "sunyi",
-        "githubUsername": "LiteSun",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/31329157?v=4"
-      },
-      {
-        "name": "Yong Li",
-        "username": "liyong",
-        "githubUsername": "chnliyong",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/4197225?v=4"
-      },
-      {
-        "name": "Zeping Bai",
-        "username": "bzp2010",
-        "githubUsername": "bzp2010",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/8078418?v=4"
-      },
-      {
-        "name": "Chen Jin",
-        "username": "Jaycean",
-        "githubUsername": "Jaycean",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/36916582?v=4"
-      },
-      {
-        "name": "Jintao Zhang",
-        "username": "zhangjintao",
-        "githubUsername": "tao12345666333",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/3264292?v=4"
-      },
-      {
-        "name": "ZhengSong Tu",
-        "username": "tzssangglass",
-        "githubUsername": "tzssangglass",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/30819887?v=4"
-      },
-      {
-        "name": "Xingwang Li",
-        "username": "okaybase",
-        "githubUsername": "okaybase",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/75366457?v=4"
-      },
-      {
-        "name": "Ling Samuel",
-        "username": "lingsamuel",
-        "githubUsername": "lingsamuel",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/14567045?v=4"
-      },
-      {
-        "name": "Yeliang Wang",
-        "username": "wang-yeliang",
-        "githubUsername": "wang-yeliang",
-        "avatarUrl": "https://avatars.githubusercontent.com/u/19886745?v=4"
-      }
-    ]
-  }
-]
diff --git a/docs/apisix/2.4/FAQ/index.html b/docs/apisix/2.4/FAQ/index.html
index 6ba091d..0c0e75c 100644
--- a/docs/apisix/2.4/FAQ/index.html
+++ b/docs/apisix/2.4/FAQ/index.html
@@ -4,24 +4,24 @@
 <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="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">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.p [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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> [...]
 Run the <code>luarocks config rocks_servers</code> command(this command is supported after luarocks 3.0) to see which server are available.</p><p>If using a proxy doesn&#x27;t solve this problem, you can add <code>--verbose</code> option during installation to see exactly how slow it is. Excluding the first case, only the second that the <code>git</code> protocol is blocked. Then we can run <code>git config --global url.&quot;https://&quot;.insteadOf git://</code> to using the &#x27;HTTP [...]
 </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/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 -d </span><span class="token string" style="color:#e3116c">&#x27;</span></span><span class="token-line" sty [...]
 <a href="https://github.com/iresty/lua-resty-radixtree#operator-list" target="_blank" rel="noopener noreferrer">https://github.com/iresty/lua-resty-radixtree#operator-list</a></p><ol start="2"><li>Use <code>traffic-split</code> plugin to do it.</li></ol><p>Please refer to the <a href="/docs/apisix/2.4/plugins/traffic-split">traffic-split.md</a> plugin documentation for usage examples.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" i [...]
@@ -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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 95dfff8..07d734a 100644
--- a/docs/apisix/2.4/IGNORE_DOC/index.html
+++ b/docs/apisix/2.4/IGNORE_DOC/index.html
@@ -4,25 +4,25 @@
 <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="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">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/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.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.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 05b5181..8f5b99e 100644
--- a/docs/apisix/2.4/admin-api/index.html
+++ b/docs/apisix/2.4/admin-api/index.html
@@ -4,24 +4,24 @@
 <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="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">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/fav [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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">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 comment" style="color:#999988;font-style:italic"># Create a route expires after 60 seconds, then it&#x27;s deleted automatically</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/admi [...]
 </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 [...]
@@ -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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 108493a..a9c65fc 100644
--- a/docs/apisix/2.4/architecture-design/index.html
+++ b/docs/apisix/2.4/architecture-design/index.html
@@ -4,24 +4,24 @@
 <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="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">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.o [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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> [...]
 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 [...]
 </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 [...]
@@ -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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 bb06f5f..345d33d 100644
--- a/docs/apisix/2.4/aws/index.html
+++ b/docs/apisix/2.4/aws/index.html
@@ -4,24 +4,24 @@
 <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="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">Running APISIX in AWS with AWS CDK | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https:// [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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 keyword" style="color:#00009f">const</span><span class="token plain"> project </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name">AwsCdkTypeScriptApp</span><span class="token punctuation" style="color:#393A [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">project</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">synth</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></code></pre><button type="button" aria-label="Cop [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">export</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="token class-name maybe-class-name">ApiSixStack</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">extends</span><span class="token plain"> </span><span c [...]
@@ -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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 6b47ba6..3ce4510 100644
--- a/docs/apisix/2.4/batch-processor/index.html
+++ b/docs/apisix/2.4/batch-processor/index.html
@@ -4,24 +4,24 @@
 <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="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">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/i [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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> [...]
 When the batch_max_size is set to zero the processor will execute each entry immediately. Setting the batch max size more
 than 1 will start aggregating the entries until it reaches the max size or the timeout expires.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="configurations"></a>Configurations<a class="hash-link" href="#configurations" title="Direct link to heading">#</a></h2><p>The only mandatory parameter to create a batch processor is a function. The function will be executed when the batch reaches the max size
 or when the buffer duration exceeds.</p><table><thead><tr><th>Name</th><th>Requirement</th><th>Description</th></tr></thead><tbody><tr><td>id</td><td>optional</td><td>A unique identifier to identity the batch processor</td></tr><tr><td>batch_max_size</td><td>optional</td><td>Max size of each batch, default is 1000</td></tr><tr><td>inactive_timeout</td><td>optional</td><td>maximum age in seconds when the buffer will be flushed if inactive, default is 5s</td></tr><tr><td>buffer_duration</t [...]
@@ -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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 5c6dd37..47358e2 100644
--- a/docs/apisix/2.4/benchmark/index.html
+++ b/docs/apisix/2.4/benchmark/index.html
@@ -4,30 +4,30 @@
 <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="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">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/fav [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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> [...]
 which is the HTTP benchmarking tool.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="benchmark-test-for-reverse-proxy"></a>Benchmark Test for reverse proxy<a class="hash-link" href="#benchmark-test-for-reverse-proxy" title="Direct link to heading">#</a></h3><p>Only used APISIX as the reverse proxy server, with no logging, limit rate, or other plugins enabled,
 and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor anchor__h4 anchorWithHideOnScrollNavbar_3R7-" id="qps"></a>QPS<a class="hash-link" href="#qps" 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-1.jpg" width="70%" height="70%"><h4><a aria-hidden="true" tabindex="-1" class="anchor anchor__h4 anchorWith [...]
 <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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 79617f4..21562b8 100644
--- a/docs/apisix/2.4/control-api/index.html
+++ b/docs/apisix/2.4/control-api/index.html
@@ -4,30 +4,30 @@
 <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="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">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/f [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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 <code>control</code> section under <code>apisix</code> in <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">apisix</span><span class="token punctuation" style="color [...]
 If a plugin adds such a control API, please refer to each plugin&#x27;s documentation for those APIs.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="plugin-independent-control-api"></a>Plugin independent Control API<a class="hash-link" href="#plugin-independent-control-api" title="Direct link to heading">#</a></h2><p>Here is the supported API:</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnSc [...]
 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 1918ad9..dc0aa1d 100644
--- a/docs/apisix/2.4/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.4/customize-nginx-configuration/index.html
@@ -4,28 +4,28 @@
 <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="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">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://apisi [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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 /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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 733bc65..5854929 100644
--- a/docs/apisix/2.4/debug-function/index.html
+++ b/docs/apisix/2.4/debug-function/index.html
@@ -4,26 +4,26 @@
 <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="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">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/im [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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></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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 35ca9f5..30f637e 100644
--- a/docs/apisix/2.4/discovery/consul_kv/index.html
+++ b/docs/apisix/2.4/discovery/consul_kv/index.html
@@ -4,28 +4,28 @@
 <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="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">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/fav [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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://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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 2284cff..68bec27 100644
--- a/docs/apisix/2.4/discovery/index.html
+++ b/docs/apisix/2.4/discovery/index.html
@@ -4,24 +4,24 @@
 <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="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">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="http [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">function _M.nodes(service_name)</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">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" style="display:inline-block">
@@ -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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 e2353b2..d8cd822 100644
--- a/docs/apisix/2.4/dns/index.html
+++ b/docs/apisix/2.4/dns/index.html
@@ -4,24 +4,24 @@
 <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="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">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.p [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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> [...]
 via DNS. Therefore we can use this way to discover service directly.</p><p>First of all, we need to configure the address of DNS servers:</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 comment" style="color:#999988;font-style:itali [...]
 DNS will return all records. For example, with upstream configuration:</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 [...]
 selection to do, to make the RR easier to read for humans (less
@@ -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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 9b3ea6e..a568c6d 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
@@ -4,24 +4,24 @@
 <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="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">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://ap [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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">secret </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token builtin">bytes</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&#x27;the shared secret key here&#x27;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span  [...]
 </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 builtin">hash</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> hmac</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">new</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">secret</span><span class="token punctuatio [...]
@@ -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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 5737116..de6210d 100644
--- a/docs/apisix/2.4/getting-started/index.html
+++ b/docs/apisix/2.4/getting-started/index.html
@@ -4,24 +4,24 @@
 <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="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">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/i [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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> [...]
 By the end of this guide, you will have a working APISIX setup and a new service which will route to a public API, which is secured by an API key.</p><p>The following GET endpoint will be used for the purpose of this tutorial. This will act as an echo endpoint and will return the parameters which are sent to the API.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color [...]
 For the quick start let&#x27;s use the docker based set up. To start the APISIX server, clone the following <a href="https://github.com/apache/apisix-docker" target="_blank" rel="noopener noreferrer">repository</a> and navigate to the example folder and execute the following commands.</p><p>This command will start the APISIX server and the admin API will be available in 9080 port (HTTPS port: 9443).</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabi [...]
 After the docker containers have started visit the following link to check if you are getting a successful response.</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 function" style="color:#d73a49"> [...]
@@ -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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 8bdd13c..e18f5c6 100644
--- a/docs/apisix/2.4/grpc-proxy/index.html
+++ b/docs/apisix/2.4/grpc-proxy/index.html
@@ -4,26 +4,26 @@
 <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="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">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/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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> [...]
 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 b30bd2a..d5aed81 100644
--- a/docs/apisix/2.4/health-check/index.html
+++ b/docs/apisix/2.4/health-check/index.html
@@ -4,28 +4,28 @@
 <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="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">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/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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> [...]
 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 73323d0..47b08de 100644
--- a/docs/apisix/2.4/how-to-build/index.html
+++ b/docs/apisix/2.4/how-to-build/index.html
@@ -4,24 +4,24 @@
 <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="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">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.a [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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 comment" style="color:#999988;font-style:italic"># old luarocks not support the `lua-dir` parameter, you can remove this option</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"> luarocks </span><span class="token f [...]
 or we can stop APISIX server by command <code>make stop</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 comment" style="color:#999988;font-style:italic"># init nginx config file and etcd</span><span class="token plain"></s [...]
 </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 APISIX 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">make</span><span class="token plain"> run</span></span><span class="token-line" style="color:#393A34"><span class="token plain" s [...]
@@ -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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 50e55fb..6180af2 100644
--- a/docs/apisix/2.4/https/index.html
+++ b/docs/apisix/2.4/https/index.html
@@ -4,24 +4,24 @@
 <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="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">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.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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 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"></span><span class="token comment" style="color:#999988;font-style:italic"># create Router object</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="colo [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># make a test</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
@@ -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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 2d4751b..4605748 100644
--- a/docs/apisix/2.4/install-dependencies/index.html
+++ b/docs/apisix/2.4/install-dependencies/index.html
@@ -4,24 +4,24 @@
 <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="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">Install Dependencies | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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 comment" style="color:#999988;font-style:italic"># add OpenResty source</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</span><span class="tok [...]
 </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 OpenResty and some compilation tools</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">instal [...]
 </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 [...]
@@ -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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 06d326f..9af8cd0 100644
--- a/docs/apisix/2.4/mtls/index.html
+++ b/docs/apisix/2.4/mtls/index.html
@@ -4,26 +4,26 @@
 <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="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">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.ap [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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">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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 d765a23..3e25b83 100644
--- a/docs/apisix/2.4/plugin-develop/index.html
+++ b/docs/apisix/2.4/plugin-develop/index.html
@@ -4,24 +4,24 @@
 <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="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">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/im [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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> [...]
 needs to declare in <strong>apisix/cli/ngx_tpl.lua</strong>, for example :</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly nginx"><pre tabindex="0" class="prism-code language-nginx 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">    lua_shared_dict plugin-limit-req     10m;</span></span><span class="token-line" style="color:#39 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    # for openid-connect plugin</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    lua_shared_dict discovery             1m; # cache for discovery metadata documents</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    lua_shared_dict jwks                  1m; # cache for JWKs</span></span><span class="token-line" style="color: [...]
 the plugin is loaded.</p><p>Note : if the dependency of some plugin needs to be initialized when Nginx start, you may need to add logic to the initialization
@@ -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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 ef4edd4..c9e62ef 100644
--- a/docs/apisix/2.4/plugin-interceptors/index.html
+++ b/docs/apisix/2.4/plugin-interceptors/index.html
@@ -4,30 +4,30 @@
 <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="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">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.o [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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> [...]
 plugins to protect them. To solve the problem, we add a new concept called &#x27;interceptors&#x27;
 to run rules to protect them.</p><p>Here is an example to limit the access of <code>/apisix/prometheus/metrics</code> (a route introduced via plugin prometheus)
 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 e81e486..fb6cb74 100644
--- a/docs/apisix/2.4/plugins/api-breaker/index.html
+++ b/docs/apisix/2.4/plugins/api-breaker/index.html
@@ -4,26 +4,26 @@
 <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="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">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/f [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 235a6f6..628bf5d 100644
--- a/docs/apisix/2.4/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.4/plugins/authz-keycloak/index.html
@@ -4,24 +4,24 @@
 <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="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">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/im [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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> [...]
 UMA compliant Identity Server. Although, it&#x27;s developed working in conjunction with Keycloak it should work with any
 OAuth/OIDC and UMA compliant identity providers as well.</p><p>For more information on Keycloak, refer to <a href="https://www.keycloak.org/docs/latest/authorization_services" target="_blank" rel="noopener noreferrer">Keycloak Authorization Docs</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 [...]
 Keycloak&#x27;s discovery document for Authorization Services for the respective realm. This is the recommended
@@ -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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 2f7b458..c068141 100644
--- a/docs/apisix/2.4/plugins/basic-auth/index.html
+++ b/docs/apisix/2.4/plugins/basic-auth/index.html
@@ -4,27 +4,27 @@
 <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="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">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/fa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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> [...]
 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 54ad148..5d8b21f 100644
--- a/docs/apisix/2.4/plugins/batch-requests/index.html
+++ b/docs/apisix/2.4/plugins/batch-requests/index.html
@@ -4,27 +4,27 @@
 <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="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">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/im [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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> [...]
 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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 ab231ce..63375de 100644
--- a/docs/apisix/2.4/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.4/plugins/consumer-restriction/index.html
@@ -4,30 +4,30 @@
 <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="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">consumer-restriction | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.4227a59b.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.9e5fae57.js" as="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">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.d448f207.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.585c9561.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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 function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/consumers -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" st [...]
 </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:#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" style= [...]
 </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.4227a59b.js"></script>
-<script src="/assets/js/main.9e5fae57.js"></script>
+<script src="/assets/js/runtime~main.d448f207.js"></script>
+<script src="/assets/js/main.585c9561.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 9a840fb..2afbd65 100644
--- a/docs/apisix/2.4/plugins/cors/index.html
+++ b/docs/apisix/2.4/plugins/cors/index.html
@@ -4,26 +4,26 @@
 <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="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">
... 100878 lines suppressed ...