You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by gi...@apache.org on 2021/12/02 08:44:55 UTC
[apisix-website] branch asf-site updated: deploy: e19718d127d729007b371d3d12a5afacc9d943a5
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 da183be deploy: e19718d127d729007b371d3d12a5afacc9d943a5
da183be is described below
commit da183be2bc2e8b300070b9f22e8193ad635765af
Author: juzhiyuan <ju...@users.noreply.github.com>
AuthorDate: Thu Dec 2 08:44:42 2021 +0000
deploy: e19718d127d729007b371d3d12a5afacc9d943a5
---
404.html | 8 ++---
.../index.html | 8 ++---
.../index.html | 12 ++++----
.../Apache-APISIX-Incubator-Journey/index.html | 8 ++---
.../Apache-APISIX-Kubernetes-Ingress/index.html | 8 ++---
.../Apache-APISIX-in-China-Mobile-Cloud/index.html | 12 ++++----
.../index.html | 8 ++---
.../index.html | 8 ++---
.../index.html | 8 ++---
.../Speed-Limiting-With-Apache-APISIX/index.html | 8 ++---
.../index.html | 8 ++---
articles/The-Appeal-of-OpenSource/index.html | 8 ++---
articles/The-Evolution-of-Apache-APISIX/index.html | 8 ++---
.../index.html | 8 ++---
articles/archive/index.html | 8 ++---
articles/atom.xml | 6 ++--
articles/index.html | 10 +++----
articles/page/2/index.html | 8 ++---
articles/rss.xml | 6 ++--
assets/js/03b491a1.470fb42a.js | 1 -
assets/js/03b491a1.9a3383cb.js | 1 +
assets/js/07718882.a915c8f8.js | 1 -
assets/js/07718882.d6479b1d.js | 1 +
assets/js/09b17eb5.2886bffd.js | 1 +
assets/js/09b17eb5.c3b9a84a.js | 1 -
assets/js/0cbbbd0e.c12b6dce.js | 1 -
assets/js/0cbbbd0e.d1bb69fe.js | 1 +
assets/js/11ce4159.75db5cf0.js | 1 +
assets/js/11ce4159.ef416f84.js | 1 -
assets/js/19945770.d689dd41.js | 1 -
assets/js/19945770.d9c3ce3b.js | 1 +
assets/js/3393d167.0bfe2131.js | 1 -
assets/js/3393d167.fcf906a8.js | 1 +
assets/js/358566b4.610b7219.js | 1 -
assets/js/358566b4.8c0de77e.js | 1 +
assets/js/3dc9f306.1a90bd57.js | 1 -
assets/js/3dc9f306.b9d34dc8.js | 1 +
assets/js/3f1b4b86.a57f4956.js | 1 -
assets/js/3f1b4b86.f0700596.js | 1 +
assets/js/40fb2fae.b26982ce.js | 1 +
assets/js/40fb2fae.d839367c.js | 1 -
assets/js/44ac4dbb.44ab412a.js | 1 +
assets/js/44ac4dbb.b2eb1071.js | 1 -
assets/js/4c20006b.03d24799.js | 1 +
assets/js/4c20006b.1ea59ab9.js | 1 -
assets/js/4f9f5708.163404e7.js | 1 -
assets/js/4f9f5708.58d67a71.js | 1 +
assets/js/507e1a4c.6818ec64.js | 1 -
assets/js/507e1a4c.e8d27d38.js | 1 +
assets/js/50facf8e.712c4e51.js | 1 +
assets/js/50facf8e.c6d1027d.js | 1 -
assets/js/52099127.0acecfae.js | 1 -
assets/js/52099127.0b438c66.js | 1 +
assets/js/542fd41f.8b87e60c.js | 1 +
assets/js/542fd41f.f1423672.js | 1 -
assets/js/55207995.a89e1a5c.js | 1 +
assets/js/55207995.be4a8497.js | 1 -
assets/js/601c6eaa.aea8f9de.js | 1 +
assets/js/601c6eaa.ea63a630.js | 1 -
assets/js/66fbb9c2.046466a2.js | 1 -
assets/js/66fbb9c2.35e0b3cb.js | 1 +
assets/js/6d650e2a.297bb4a3.js | 1 +
assets/js/6d650e2a.37504b1e.js | 1 -
assets/js/7af3052c.d9ad270f.js | 1 +
assets/js/7af3052c.f306f23d.js | 1 -
assets/js/7d9726a8.113f1dd7.js | 1 +
assets/js/7d9726a8.f2e5aec0.js | 1 -
assets/js/80791de8.78e0f533.js | 1 +
assets/js/80791de8.b453a187.js | 1 -
assets/js/814f3328.4ea5d517.js | 1 +
assets/js/814f3328.ee85ffc2.js | 1 -
assets/js/8e784bf3.cd8fb22e.js | 1 +
assets/js/8e784bf3.db2853b7.js | 1 -
assets/js/8eb4e46b.3330dad7.js | 1 -
assets/js/8eb4e46b.5f497b5f.js | 1 +
assets/js/8f700fa6.35e060ba.js | 1 +
assets/js/8f700fa6.fe3672aa.js | 1 -
assets/js/90fc8a94.06d7fd0c.js | 1 -
assets/js/90fc8a94.24450e46.js | 1 +
assets/js/92999a1c.9568d163.js | 1 +
assets/js/92999a1c.b627b11d.js | 1 -
assets/js/941960b1.9cc4eeb0.js | 1 -
assets/js/941960b1.f1971b4f.js | 1 +
assets/js/98b657d8.0fde2c0e.js | 1 +
assets/js/98b657d8.64c5f6df.js | 1 -
assets/js/a7023ddc.9570d015.js | 1 -
assets/js/a7023ddc.e79d09e1.js | 1 +
assets/js/ac0d4255.d21a4669.js | 1 +
assets/js/adbb350b.5d75d3a9.js | 1 -
assets/js/adbb350b.d7a83e22.js | 1 +
assets/js/b2b675dd.ce703ffd.js | 1 -
assets/js/b2b675dd.e1c814c6.js | 1 +
assets/js/b2f554cd.2f86ff0b.js | 1 -
assets/js/b2f554cd.49409c80.js | 1 +
assets/js/c7fd585f.21dd641a.js | 1 +
assets/js/d18db9b0.01fb9115.js | 1 +
assets/js/d18db9b0.4941797e.js | 1 -
assets/js/f091cc2c.598f30bd.js | 1 +
assets/js/f091cc2c.f249840c.js | 1 -
assets/js/main.12098c32.js | 2 --
assets/js/main.235860ce.js | 2 ++
.../js/main.235860ce.js.LICENSE.txt | 0
assets/js/runtime~main.9b9ef40f.js | 1 -
assets/js/runtime~main.d4a70b30.js | 1 +
.../index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
.../21/run-ingress-apisix-on-amazon-eks/index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
blog/2021/05/24/Tencent-Games/index.html | 10 +++----
.../05/25/Apache APISIX 2.6.0-Release/index.html | 10 +++----
.../index.html | 10 +++----
blog/2021/06/06/apisix-two-years/index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
.../06/28/why-we-need-Apache-APISIX/index.html | 10 +++----
.../06/29/release-apache-apisix-2.7/index.html | 10 +++----
.../etcd3-support-HTTP-access-perfectly/index.html | 10 +++----
.../07/06/celebrate-200-contributors/index.html | 10 +++----
.../index.html | 10 +++----
.../2021/07/21/Apache-APISIX-Kubernetes/index.html | 10 +++----
blog/2021/07/25/apachecon-asia/index.html | 10 +++----
.../index.html | 10 +++----
.../07/28/release-apache-apisix-2.8/index.html | 10 +++----
blog/2021/08/05/Kong-to-APISIX/index.html | 10 +++----
.../index.html | 10 +++----
.../Apache-APISIX-in-China-Mobile-Cloud/index.html | 10 +++----
.../08/09/Apache-APISIX-in-Quliankeji/index.html | 10 +++----
blog/2021/08/10/apisix-nginx/index.html | 10 +++----
blog/2021/08/11/interview-TuZhengsong/index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
blog/2021/08/17/interview-airwallex/index.html | 10 +++----
.../Auth-with-Casbin-in-Apache-APISIX/index.html | 10 +++----
.../08/19/go-makes-Apache-APISIX-better/index.html | 10 +++----
blog/2021/08/19/weekly-report/index.html | 10 +++----
blog/2021/08/21/shanghai-meetup/index.html | 10 +++----
blog/2021/08/23/ApacheCon-Asia-2021/index.html | 10 +++----
blog/2021/08/23/weekly-report/index.html | 10 +++----
blog/2021/08/24/shanghai-meetup-recap/index.html | 10 +++----
.../Auth-with-Casbin-in-Apache-APISIX/index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
.../08/27/release-apache-apisix-2.9/index.html | 10 +++----
blog/2021/08/30/Ingress-Meeting/index.html | 10 +++----
blog/2021/08/30/weekly-report/index.html | 10 +++----
.../index.html" | 10 +++----
.../index.html | 10 +++----
blog/2021/09/07/how-to-use-apisix-auth/index.html | 10 +++----
blog/2021/09/07/iQIYI-usercase/index.html | 10 +++----
.../index.html | 10 +++----
.../09/13/china-mobile-cloud-usercase/index.html | 10 +++----
blog/2021/09/14/youzan/index.html | 10 +++----
blog/2021/09/15/weekly-report/index.html | 10 +++----
blog/2021/09/16/tencent-cloud/index.html | 10 +++----
blog/2021/09/18/xiaodian-usercase/index.html | 10 +++----
blog/2021/09/24/youpaicloud-usercase/index.html | 10 +++----
blog/2021/09/28/WPS-usercase/index.html | 10 +++----
.../09/29/release-apache-apisix-2.10/index.html | 10 +++----
blog/2021/09/30/weekly-report/index.html | 10 +++----
blog/2021/10/01/openEuler/index.html | 10 +++----
blog/2021/10/09/apisix-ingress-techblog/index.html | 10 +++----
.../index.html | 10 +++----
blog/2021/10/14/weekly-report-1014/index.html | 10 +++----
blog/2021/10/18/meetup/index.html | 10 +++----
blog/2021/10/22/cert-manager-in-ingress/index.html | 10 +++----
blog/2021/10/26/APISIX-Ingress/index.html | 10 +++----
blog/2021/10/29/Extension-guide/index.html | 10 +++----
blog/2021/11/02/weekly-report-1031/index.html | 10 +++----
blog/2021/11/03/airwallex-usercase/index.html | 10 +++----
blog/2021/11/04/skywalking/index.html | 10 +++----
blog/2021/11/12/apisix-datadog/index.html | 10 +++----
blog/2021/11/16/weekly-report-1114/index.html | 10 +++----
blog/2021/11/17/dapr-with-apisix/index.html | 10 +++----
blog/2021/11/19/apisix-supports-wasm/index.html | 10 +++----
.../index.html | 10 +++----
.../23/cve-2021-43557-research-report/index.html | 10 +++----
blog/2021/11/23/cve-2021-43557/index.html | 10 +++----
.../apache-apisix-committer-experience/index.html | 10 +++----
.../30/use-apisix-ingress-in-kubesphere/index.html | 12 ++++----
.../01/apisix-supports-azure-functions/index.html | 34 ++++++++++++++++++++++
blog/2021/12/02/weekly-report-1130/index.html | 10 +++----
blog/archive/index.html | 10 +++----
blog/atom.xml | 11 +++++++
blog/index.html | 10 +++----
blog/page/2/index.html | 10 +++----
blog/page/3/index.html | 10 +++----
blog/page/4/index.html | 10 +++----
blog/page/5/index.html | 10 +++----
blog/page/6/index.html | 10 +++----
blog/page/7/index.html | 10 +++----
blog/page/8/index.html | 10 +++----
blog/page/9/index.html | 10 +++----
blog/rss.xml | 7 +++++
blog/tags/community/index.html | 10 +++----
blog/tags/events/index.html | 10 +++----
blog/tags/index.html | 10 +++----
blog/tags/interview/index.html | 10 +++----
blog/tags/practical-case/index.html | 10 +++----
blog/tags/release/index.html | 10 +++----
blog/tags/security/index.html | 10 +++----
blog/tags/technology/index.html | 12 ++++----
blog/tags/user-case/index.html | 10 +++----
contribute/ContributeCard/index.html | 8 ++---
contribute/index.html | 8 ++---
docs/apisix/2.10/FAQ/index.html | 8 ++---
docs/apisix/2.10/IGNORE_DOC/index.html | 8 ++---
docs/apisix/2.10/admin-api/index.html | 8 ++---
.../2.10/architecture-design/apisix/index.html | 8 ++---
.../2.10/architecture-design/consumer/index.html | 8 ++---
.../2.10/architecture-design/debug-mode/index.html | 8 ++---
.../architecture-design/global-rule/index.html | 8 ++---
docs/apisix/2.10/architecture-design/index.html | 8 ++---
.../architecture-design/plugin-config/index.html | 8 ++---
.../2.10/architecture-design/plugin/index.html | 8 ++---
.../2.10/architecture-design/route/index.html | 8 ++---
.../2.10/architecture-design/router/index.html | 8 ++---
.../2.10/architecture-design/script/index.html | 8 ++---
.../2.10/architecture-design/service/index.html | 8 ++---
.../2.10/architecture-design/upstream/index.html | 8 ++---
docs/apisix/2.10/aws/index.html | 8 ++---
docs/apisix/2.10/batch-processor/index.html | 8 ++---
docs/apisix/2.10/benchmark/index.html | 8 ++---
docs/apisix/2.10/certificate/index.html | 8 ++---
docs/apisix/2.10/control-api/index.html | 8 ++---
.../2.10/customize-nginx-configuration/index.html | 8 ++---
docs/apisix/2.10/debug-function/index.html | 8 ++---
docs/apisix/2.10/discovery/consul_kv/index.html | 8 ++---
docs/apisix/2.10/discovery/dns/index.html | 8 ++---
docs/apisix/2.10/discovery/eureka/index.html | 8 ++---
docs/apisix/2.10/discovery/index.html | 8 ++---
docs/apisix/2.10/discovery/nacos/index.html | 8 ++---
docs/apisix/2.10/dns/index.html | 8 ++---
.../index.html | 8 ++---
docs/apisix/2.10/external-plugin/index.html | 8 ++---
docs/apisix/2.10/getting-started/index.html | 8 ++---
docs/apisix/2.10/grpc-proxy/index.html | 8 ++---
docs/apisix/2.10/health-check/index.html | 8 ++---
docs/apisix/2.10/how-to-build/index.html | 8 ++---
docs/apisix/2.10/https/index.html | 8 ++---
docs/apisix/2.10/install-dependencies/index.html | 8 ++---
.../2.10/internal/testing-framework/index.html | 8 ++---
docs/apisix/2.10/mtls/index.html | 8 ++---
docs/apisix/2.10/plugin-develop/index.html | 8 ++---
docs/apisix/2.10/plugin-interceptors/index.html | 8 ++---
docs/apisix/2.10/plugins/api-breaker/index.html | 8 ++---
docs/apisix/2.10/plugins/authz-casbin/index.html | 8 ++---
docs/apisix/2.10/plugins/authz-keycloak/index.html | 8 ++---
docs/apisix/2.10/plugins/basic-auth/index.html | 8 ++---
docs/apisix/2.10/plugins/batch-requests/index.html | 8 ++---
docs/apisix/2.10/plugins/client-control/index.html | 8 ++---
.../2.10/plugins/consumer-restriction/index.html | 8 ++---
docs/apisix/2.10/plugins/cors/index.html | 8 ++---
docs/apisix/2.10/plugins/dubbo-proxy/index.html | 8 ++---
docs/apisix/2.10/plugins/echo/index.html | 8 ++---
.../2.10/plugins/error-log-logger/index.html | 8 ++---
.../2.10/plugins/ext-plugin-post-req/index.html | 8 ++---
.../2.10/plugins/ext-plugin-pre-req/index.html | 8 ++---
.../apisix/2.10/plugins/fault-injection/index.html | 8 ++---
docs/apisix/2.10/plugins/grpc-transcode/index.html | 8 ++---
docs/apisix/2.10/plugins/gzip/index.html | 8 ++---
docs/apisix/2.10/plugins/hmac-auth/index.html | 8 ++---
docs/apisix/2.10/plugins/http-logger/index.html | 8 ++---
docs/apisix/2.10/plugins/index.html | 8 ++---
docs/apisix/2.10/plugins/ip-restriction/index.html | 8 ++---
docs/apisix/2.10/plugins/jwt-auth/index.html | 8 ++---
docs/apisix/2.10/plugins/kafka-logger/index.html | 8 ++---
docs/apisix/2.10/plugins/key-auth/index.html | 8 ++---
docs/apisix/2.10/plugins/limit-conn/index.html | 8 ++---
docs/apisix/2.10/plugins/limit-count/index.html | 8 ++---
docs/apisix/2.10/plugins/limit-req/index.html | 8 ++---
docs/apisix/2.10/plugins/log-rotate/index.html | 8 ++---
docs/apisix/2.10/plugins/mqtt-proxy/index.html | 8 ++---
docs/apisix/2.10/plugins/node-status/index.html | 8 ++---
docs/apisix/2.10/plugins/openid-connect/index.html | 8 ++---
docs/apisix/2.10/plugins/prometheus/index.html | 8 ++---
docs/apisix/2.10/plugins/proxy-cache/index.html | 8 ++---
docs/apisix/2.10/plugins/proxy-mirror/index.html | 8 ++---
docs/apisix/2.10/plugins/proxy-rewrite/index.html | 8 ++---
docs/apisix/2.10/plugins/real-ip/index.html | 8 ++---
docs/apisix/2.10/plugins/redirect/index.html | 8 ++---
.../2.10/plugins/referer-restriction/index.html | 8 ++---
docs/apisix/2.10/plugins/request-id/index.html | 8 ++---
.../2.10/plugins/request-validation/index.html | 8 ++---
.../2.10/plugins/response-rewrite/index.html | 8 ++---
docs/apisix/2.10/plugins/server-info/index.html | 8 ++---
docs/apisix/2.10/plugins/serverless/index.html | 8 ++---
docs/apisix/2.10/plugins/skywalking/index.html | 8 ++---
docs/apisix/2.10/plugins/sls-logger/index.html | 8 ++---
docs/apisix/2.10/plugins/syslog/index.html | 8 ++---
docs/apisix/2.10/plugins/tcp-logger/index.html | 8 ++---
docs/apisix/2.10/plugins/traffic-split/index.html | 8 ++---
docs/apisix/2.10/plugins/ua-restriction/index.html | 8 ++---
docs/apisix/2.10/plugins/udp-logger/index.html | 8 ++---
docs/apisix/2.10/plugins/uri-blocker/index.html | 8 ++---
docs/apisix/2.10/plugins/wolf-rbac/index.html | 8 ++---
docs/apisix/2.10/plugins/zipkin/index.html | 8 ++---
docs/apisix/2.10/powered-by/index.html | 8 ++---
docs/apisix/2.10/profile/index.html | 8 ++---
docs/apisix/2.10/router-radixtree/index.html | 8 ++---
docs/apisix/2.10/stand-alone/index.html | 8 ++---
docs/apisix/2.10/stream-proxy/index.html | 8 ++---
docs/apisix/2.10/tags/index.html | 8 ++---
docs/apisix/2.4/FAQ/index.html | 8 ++---
docs/apisix/2.4/IGNORE_DOC/index.html | 8 ++---
docs/apisix/2.4/admin-api/index.html | 8 ++---
docs/apisix/2.4/architecture-design/index.html | 8 ++---
docs/apisix/2.4/aws/index.html | 8 ++---
docs/apisix/2.4/batch-processor/index.html | 8 ++---
docs/apisix/2.4/benchmark/index.html | 8 ++---
docs/apisix/2.4/control-api/index.html | 8 ++---
.../2.4/customize-nginx-configuration/index.html | 8 ++---
docs/apisix/2.4/debug-function/index.html | 8 ++---
docs/apisix/2.4/discovery/consul_kv/index.html | 8 ++---
docs/apisix/2.4/discovery/index.html | 8 ++---
docs/apisix/2.4/dns/index.html | 8 ++---
.../index.html | 8 ++---
docs/apisix/2.4/getting-started/index.html | 8 ++---
docs/apisix/2.4/grpc-proxy/index.html | 8 ++---
docs/apisix/2.4/health-check/index.html | 8 ++---
docs/apisix/2.4/how-to-build/index.html | 8 ++---
docs/apisix/2.4/https/index.html | 8 ++---
docs/apisix/2.4/install-dependencies/index.html | 8 ++---
docs/apisix/2.4/mtls/index.html | 8 ++---
docs/apisix/2.4/plugin-develop/index.html | 8 ++---
docs/apisix/2.4/plugin-interceptors/index.html | 8 ++---
docs/apisix/2.4/plugins/api-breaker/index.html | 8 ++---
docs/apisix/2.4/plugins/authz-keycloak/index.html | 8 ++---
docs/apisix/2.4/plugins/basic-auth/index.html | 8 ++---
docs/apisix/2.4/plugins/batch-requests/index.html | 8 ++---
.../2.4/plugins/consumer-restriction/index.html | 8 ++---
docs/apisix/2.4/plugins/cors/index.html | 8 ++---
docs/apisix/2.4/plugins/dubbo-proxy/index.html | 8 ++---
docs/apisix/2.4/plugins/echo/index.html | 8 ++---
.../apisix/2.4/plugins/error-log-logger/index.html | 8 ++---
docs/apisix/2.4/plugins/fault-injection/index.html | 8 ++---
docs/apisix/2.4/plugins/grpc-transcode/index.html | 8 ++---
docs/apisix/2.4/plugins/hmac-auth/index.html | 8 ++---
docs/apisix/2.4/plugins/http-logger/index.html | 8 ++---
docs/apisix/2.4/plugins/index.html | 8 ++---
docs/apisix/2.4/plugins/ip-restriction/index.html | 8 ++---
docs/apisix/2.4/plugins/jwt-auth/index.html | 8 ++---
docs/apisix/2.4/plugins/kafka-logger/index.html | 8 ++---
docs/apisix/2.4/plugins/key-auth/index.html | 8 ++---
docs/apisix/2.4/plugins/limit-conn/index.html | 8 ++---
docs/apisix/2.4/plugins/limit-count/index.html | 8 ++---
docs/apisix/2.4/plugins/limit-req/index.html | 8 ++---
docs/apisix/2.4/plugins/log-rotate/index.html | 8 ++---
docs/apisix/2.4/plugins/mqtt-proxy/index.html | 8 ++---
docs/apisix/2.4/plugins/node-status/index.html | 8 ++---
docs/apisix/2.4/plugins/openid-connect/index.html | 8 ++---
docs/apisix/2.4/plugins/prometheus/index.html | 8 ++---
docs/apisix/2.4/plugins/proxy-cache/index.html | 8 ++---
docs/apisix/2.4/plugins/proxy-mirror/index.html | 8 ++---
docs/apisix/2.4/plugins/proxy-rewrite/index.html | 8 ++---
docs/apisix/2.4/plugins/redirect/index.html | 8 ++---
.../2.4/plugins/referer-restriction/index.html | 8 ++---
docs/apisix/2.4/plugins/request-id/index.html | 8 ++---
.../2.4/plugins/request-validation/index.html | 8 ++---
.../apisix/2.4/plugins/response-rewrite/index.html | 8 ++---
docs/apisix/2.4/plugins/server-info/index.html | 8 ++---
docs/apisix/2.4/plugins/serverless/index.html | 8 ++---
docs/apisix/2.4/plugins/skywalking/index.html | 8 ++---
docs/apisix/2.4/plugins/sls-logger/index.html | 8 ++---
docs/apisix/2.4/plugins/syslog/index.html | 8 ++---
docs/apisix/2.4/plugins/tcp-logger/index.html | 8 ++---
docs/apisix/2.4/plugins/traffic-split/index.html | 8 ++---
docs/apisix/2.4/plugins/udp-logger/index.html | 8 ++---
docs/apisix/2.4/plugins/uri-blocker/index.html | 8 ++---
docs/apisix/2.4/plugins/wolf-rbac/index.html | 8 ++---
docs/apisix/2.4/plugins/zipkin/index.html | 8 ++---
docs/apisix/2.4/powered-by/index.html | 8 ++---
docs/apisix/2.4/profile/index.html | 8 ++---
docs/apisix/2.4/router-radixtree/index.html | 8 ++---
docs/apisix/2.4/stand-alone/index.html | 8 ++---
docs/apisix/2.4/stream-proxy/index.html | 8 ++---
docs/apisix/2.4/tags/index.html | 8 ++---
docs/apisix/2.5/FAQ/index.html | 8 ++---
docs/apisix/2.5/IGNORE_DOC/index.html | 8 ++---
docs/apisix/2.5/admin-api/index.html | 8 ++---
.../2.5/architecture-design/apisix/index.html | 8 ++---
.../2.5/architecture-design/consumer/index.html | 8 ++---
.../2.5/architecture-design/debug-mode/index.html | 8 ++---
.../2.5/architecture-design/global-rule/index.html | 8 ++---
docs/apisix/2.5/architecture-design/index.html | 8 ++---
.../architecture-design/plugin-config/index.html | 8 ++---
.../2.5/architecture-design/plugin/index.html | 8 ++---
.../2.5/architecture-design/route/index.html | 8 ++---
.../2.5/architecture-design/router/index.html | 8 ++---
.../2.5/architecture-design/script/index.html | 8 ++---
.../2.5/architecture-design/service/index.html | 8 ++---
.../2.5/architecture-design/upstream/index.html | 8 ++---
docs/apisix/2.5/aws/index.html | 8 ++---
docs/apisix/2.5/batch-processor/index.html | 8 ++---
docs/apisix/2.5/benchmark/index.html | 8 ++---
docs/apisix/2.5/control-api/index.html | 8 ++---
.../2.5/customize-nginx-configuration/index.html | 8 ++---
docs/apisix/2.5/debug-function/index.html | 8 ++---
docs/apisix/2.5/discovery/consul_kv/index.html | 8 ++---
docs/apisix/2.5/discovery/dns/index.html | 8 ++---
docs/apisix/2.5/discovery/index.html | 8 ++---
docs/apisix/2.5/dns/index.html | 8 ++---
.../index.html | 8 ++---
docs/apisix/2.5/getting-started/index.html | 8 ++---
docs/apisix/2.5/grpc-proxy/index.html | 8 ++---
docs/apisix/2.5/health-check/index.html | 8 ++---
docs/apisix/2.5/how-to-build/index.html | 8 ++---
docs/apisix/2.5/https/index.html | 8 ++---
docs/apisix/2.5/install-dependencies/index.html | 8 ++---
docs/apisix/2.5/mtls/index.html | 8 ++---
docs/apisix/2.5/plugin-develop/index.html | 8 ++---
docs/apisix/2.5/plugin-interceptors/index.html | 8 ++---
docs/apisix/2.5/plugins/api-breaker/index.html | 8 ++---
docs/apisix/2.5/plugins/authz-keycloak/index.html | 8 ++---
docs/apisix/2.5/plugins/basic-auth/index.html | 8 ++---
docs/apisix/2.5/plugins/batch-requests/index.html | 8 ++---
.../2.5/plugins/consumer-restriction/index.html | 8 ++---
docs/apisix/2.5/plugins/cors/index.html | 8 ++---
docs/apisix/2.5/plugins/dubbo-proxy/index.html | 8 ++---
docs/apisix/2.5/plugins/echo/index.html | 8 ++---
.../apisix/2.5/plugins/error-log-logger/index.html | 8 ++---
docs/apisix/2.5/plugins/fault-injection/index.html | 8 ++---
docs/apisix/2.5/plugins/grpc-transcode/index.html | 8 ++---
docs/apisix/2.5/plugins/hmac-auth/index.html | 8 ++---
docs/apisix/2.5/plugins/http-logger/index.html | 8 ++---
docs/apisix/2.5/plugins/index.html | 8 ++---
docs/apisix/2.5/plugins/ip-restriction/index.html | 8 ++---
docs/apisix/2.5/plugins/jwt-auth/index.html | 8 ++---
docs/apisix/2.5/plugins/kafka-logger/index.html | 8 ++---
docs/apisix/2.5/plugins/key-auth/index.html | 8 ++---
docs/apisix/2.5/plugins/limit-conn/index.html | 8 ++---
docs/apisix/2.5/plugins/limit-count/index.html | 8 ++---
docs/apisix/2.5/plugins/limit-req/index.html | 8 ++---
docs/apisix/2.5/plugins/log-rotate/index.html | 8 ++---
docs/apisix/2.5/plugins/mqtt-proxy/index.html | 8 ++---
docs/apisix/2.5/plugins/node-status/index.html | 8 ++---
docs/apisix/2.5/plugins/openid-connect/index.html | 8 ++---
docs/apisix/2.5/plugins/prometheus/index.html | 8 ++---
docs/apisix/2.5/plugins/proxy-cache/index.html | 8 ++---
docs/apisix/2.5/plugins/proxy-mirror/index.html | 8 ++---
docs/apisix/2.5/plugins/proxy-rewrite/index.html | 8 ++---
docs/apisix/2.5/plugins/redirect/index.html | 8 ++---
.../2.5/plugins/referer-restriction/index.html | 8 ++---
docs/apisix/2.5/plugins/request-id/index.html | 8 ++---
.../2.5/plugins/request-validation/index.html | 8 ++---
.../apisix/2.5/plugins/response-rewrite/index.html | 8 ++---
docs/apisix/2.5/plugins/server-info/index.html | 8 ++---
docs/apisix/2.5/plugins/serverless/index.html | 8 ++---
docs/apisix/2.5/plugins/skywalking/index.html | 8 ++---
docs/apisix/2.5/plugins/sls-logger/index.html | 8 ++---
docs/apisix/2.5/plugins/syslog/index.html | 8 ++---
docs/apisix/2.5/plugins/tcp-logger/index.html | 8 ++---
docs/apisix/2.5/plugins/traffic-split/index.html | 8 ++---
docs/apisix/2.5/plugins/udp-logger/index.html | 8 ++---
docs/apisix/2.5/plugins/uri-blocker/index.html | 8 ++---
docs/apisix/2.5/plugins/wolf-rbac/index.html | 8 ++---
docs/apisix/2.5/plugins/zipkin/index.html | 8 ++---
docs/apisix/2.5/powered-by/index.html | 8 ++---
docs/apisix/2.5/profile/index.html | 8 ++---
docs/apisix/2.5/router-radixtree/index.html | 8 ++---
docs/apisix/2.5/stand-alone/index.html | 8 ++---
docs/apisix/2.5/stream-proxy/index.html | 8 ++---
docs/apisix/2.5/tags/index.html | 8 ++---
docs/apisix/2.6/FAQ/index.html | 8 ++---
docs/apisix/2.6/IGNORE_DOC/index.html | 8 ++---
docs/apisix/2.6/admin-api/index.html | 8 ++---
.../2.6/architecture-design/apisix/index.html | 8 ++---
.../2.6/architecture-design/consumer/index.html | 8 ++---
.../2.6/architecture-design/debug-mode/index.html | 8 ++---
.../2.6/architecture-design/global-rule/index.html | 8 ++---
docs/apisix/2.6/architecture-design/index.html | 8 ++---
.../architecture-design/plugin-config/index.html | 8 ++---
.../2.6/architecture-design/plugin/index.html | 8 ++---
.../2.6/architecture-design/route/index.html | 8 ++---
.../2.6/architecture-design/router/index.html | 8 ++---
.../2.6/architecture-design/script/index.html | 8 ++---
.../2.6/architecture-design/service/index.html | 8 ++---
.../2.6/architecture-design/upstream/index.html | 8 ++---
docs/apisix/2.6/aws/index.html | 8 ++---
docs/apisix/2.6/batch-processor/index.html | 8 ++---
docs/apisix/2.6/benchmark/index.html | 8 ++---
docs/apisix/2.6/control-api/index.html | 8 ++---
.../2.6/customize-nginx-configuration/index.html | 8 ++---
docs/apisix/2.6/debug-function/index.html | 8 ++---
docs/apisix/2.6/discovery/consul_kv/index.html | 8 ++---
docs/apisix/2.6/discovery/dns/index.html | 8 ++---
docs/apisix/2.6/discovery/eureka/index.html | 8 ++---
docs/apisix/2.6/discovery/index.html | 8 ++---
docs/apisix/2.6/discovery/nacos/index.html | 8 ++---
docs/apisix/2.6/dns/index.html | 8 ++---
.../index.html | 8 ++---
docs/apisix/2.6/getting-started/index.html | 8 ++---
docs/apisix/2.6/grpc-proxy/index.html | 8 ++---
docs/apisix/2.6/health-check/index.html | 8 ++---
docs/apisix/2.6/how-to-build/index.html | 8 ++---
docs/apisix/2.6/https/index.html | 8 ++---
docs/apisix/2.6/install-dependencies/index.html | 8 ++---
docs/apisix/2.6/mtls/index.html | 8 ++---
docs/apisix/2.6/plugin-develop/index.html | 8 ++---
docs/apisix/2.6/plugin-interceptors/index.html | 8 ++---
docs/apisix/2.6/plugins/api-breaker/index.html | 8 ++---
docs/apisix/2.6/plugins/authz-keycloak/index.html | 8 ++---
docs/apisix/2.6/plugins/basic-auth/index.html | 8 ++---
docs/apisix/2.6/plugins/batch-requests/index.html | 8 ++---
.../2.6/plugins/consumer-restriction/index.html | 8 ++---
docs/apisix/2.6/plugins/cors/index.html | 8 ++---
docs/apisix/2.6/plugins/dubbo-proxy/index.html | 8 ++---
docs/apisix/2.6/plugins/echo/index.html | 8 ++---
.../apisix/2.6/plugins/error-log-logger/index.html | 8 ++---
docs/apisix/2.6/plugins/fault-injection/index.html | 8 ++---
docs/apisix/2.6/plugins/grpc-transcode/index.html | 8 ++---
docs/apisix/2.6/plugins/hmac-auth/index.html | 8 ++---
docs/apisix/2.6/plugins/http-logger/index.html | 8 ++---
docs/apisix/2.6/plugins/index.html | 8 ++---
docs/apisix/2.6/plugins/ip-restriction/index.html | 8 ++---
docs/apisix/2.6/plugins/jwt-auth/index.html | 8 ++---
docs/apisix/2.6/plugins/kafka-logger/index.html | 8 ++---
docs/apisix/2.6/plugins/key-auth/index.html | 8 ++---
docs/apisix/2.6/plugins/limit-conn/index.html | 8 ++---
docs/apisix/2.6/plugins/limit-count/index.html | 8 ++---
docs/apisix/2.6/plugins/limit-req/index.html | 8 ++---
docs/apisix/2.6/plugins/log-rotate/index.html | 8 ++---
docs/apisix/2.6/plugins/mqtt-proxy/index.html | 8 ++---
docs/apisix/2.6/plugins/node-status/index.html | 8 ++---
docs/apisix/2.6/plugins/openid-connect/index.html | 8 ++---
docs/apisix/2.6/plugins/prometheus/index.html | 8 ++---
docs/apisix/2.6/plugins/proxy-cache/index.html | 8 ++---
docs/apisix/2.6/plugins/proxy-mirror/index.html | 8 ++---
docs/apisix/2.6/plugins/proxy-rewrite/index.html | 8 ++---
docs/apisix/2.6/plugins/redirect/index.html | 8 ++---
.../2.6/plugins/referer-restriction/index.html | 8 ++---
docs/apisix/2.6/plugins/request-id/index.html | 8 ++---
.../2.6/plugins/request-validation/index.html | 8 ++---
.../apisix/2.6/plugins/response-rewrite/index.html | 8 ++---
docs/apisix/2.6/plugins/server-info/index.html | 8 ++---
docs/apisix/2.6/plugins/serverless/index.html | 8 ++---
docs/apisix/2.6/plugins/skywalking/index.html | 8 ++---
docs/apisix/2.6/plugins/sls-logger/index.html | 8 ++---
docs/apisix/2.6/plugins/syslog/index.html | 8 ++---
docs/apisix/2.6/plugins/tcp-logger/index.html | 8 ++---
docs/apisix/2.6/plugins/traffic-split/index.html | 8 ++---
docs/apisix/2.6/plugins/udp-logger/index.html | 8 ++---
docs/apisix/2.6/plugins/uri-blocker/index.html | 8 ++---
docs/apisix/2.6/plugins/wolf-rbac/index.html | 8 ++---
docs/apisix/2.6/plugins/zipkin/index.html | 8 ++---
docs/apisix/2.6/powered-by/index.html | 8 ++---
docs/apisix/2.6/profile/index.html | 8 ++---
docs/apisix/2.6/router-radixtree/index.html | 8 ++---
docs/apisix/2.6/stand-alone/index.html | 8 ++---
docs/apisix/2.6/stream-proxy/index.html | 8 ++---
docs/apisix/2.6/tags/index.html | 8 ++---
docs/apisix/2.7/FAQ/index.html | 8 ++---
docs/apisix/2.7/IGNORE_DOC/index.html | 8 ++---
docs/apisix/2.7/admin-api/index.html | 8 ++---
.../2.7/architecture-design/apisix/index.html | 8 ++---
.../2.7/architecture-design/consumer/index.html | 8 ++---
.../2.7/architecture-design/debug-mode/index.html | 8 ++---
.../2.7/architecture-design/global-rule/index.html | 8 ++---
docs/apisix/2.7/architecture-design/index.html | 8 ++---
.../architecture-design/plugin-config/index.html | 8 ++---
.../2.7/architecture-design/plugin/index.html | 8 ++---
.../2.7/architecture-design/route/index.html | 8 ++---
.../2.7/architecture-design/router/index.html | 8 ++---
.../2.7/architecture-design/script/index.html | 8 ++---
.../2.7/architecture-design/service/index.html | 8 ++---
.../2.7/architecture-design/upstream/index.html | 8 ++---
docs/apisix/2.7/aws/index.html | 8 ++---
docs/apisix/2.7/batch-processor/index.html | 8 ++---
docs/apisix/2.7/benchmark/index.html | 8 ++---
docs/apisix/2.7/certificate/index.html | 8 ++---
docs/apisix/2.7/control-api/index.html | 8 ++---
.../2.7/customize-nginx-configuration/index.html | 8 ++---
docs/apisix/2.7/debug-function/index.html | 8 ++---
docs/apisix/2.7/discovery/consul_kv/index.html | 8 ++---
docs/apisix/2.7/discovery/dns/index.html | 8 ++---
docs/apisix/2.7/discovery/eureka/index.html | 8 ++---
docs/apisix/2.7/discovery/index.html | 8 ++---
docs/apisix/2.7/discovery/nacos/index.html | 8 ++---
docs/apisix/2.7/dns/index.html | 8 ++---
.../index.html | 8 ++---
docs/apisix/2.7/external-plugin/index.html | 8 ++---
docs/apisix/2.7/getting-started/index.html | 8 ++---
docs/apisix/2.7/grpc-proxy/index.html | 8 ++---
docs/apisix/2.7/health-check/index.html | 8 ++---
docs/apisix/2.7/how-to-build/index.html | 8 ++---
docs/apisix/2.7/https/index.html | 8 ++---
docs/apisix/2.7/install-dependencies/index.html | 8 ++---
docs/apisix/2.7/mtls/index.html | 8 ++---
docs/apisix/2.7/plugin-develop/index.html | 8 ++---
docs/apisix/2.7/plugin-interceptors/index.html | 8 ++---
docs/apisix/2.7/plugins/api-breaker/index.html | 8 ++---
docs/apisix/2.7/plugins/authz-keycloak/index.html | 8 ++---
docs/apisix/2.7/plugins/basic-auth/index.html | 8 ++---
docs/apisix/2.7/plugins/batch-requests/index.html | 8 ++---
docs/apisix/2.7/plugins/client-control/index.html | 8 ++---
.../2.7/plugins/consumer-restriction/index.html | 8 ++---
docs/apisix/2.7/plugins/cors/index.html | 8 ++---
docs/apisix/2.7/plugins/dubbo-proxy/index.html | 8 ++---
docs/apisix/2.7/plugins/echo/index.html | 8 ++---
.../apisix/2.7/plugins/error-log-logger/index.html | 8 ++---
.../2.7/plugins/ext-plugin-post-req/index.html | 8 ++---
.../2.7/plugins/ext-plugin-pre-req/index.html | 8 ++---
docs/apisix/2.7/plugins/fault-injection/index.html | 8 ++---
docs/apisix/2.7/plugins/grpc-transcode/index.html | 8 ++---
docs/apisix/2.7/plugins/hmac-auth/index.html | 8 ++---
docs/apisix/2.7/plugins/http-logger/index.html | 8 ++---
docs/apisix/2.7/plugins/index.html | 8 ++---
docs/apisix/2.7/plugins/ip-restriction/index.html | 8 ++---
docs/apisix/2.7/plugins/jwt-auth/index.html | 8 ++---
docs/apisix/2.7/plugins/kafka-logger/index.html | 8 ++---
docs/apisix/2.7/plugins/key-auth/index.html | 8 ++---
docs/apisix/2.7/plugins/limit-conn/index.html | 8 ++---
docs/apisix/2.7/plugins/limit-count/index.html | 8 ++---
docs/apisix/2.7/plugins/limit-req/index.html | 8 ++---
docs/apisix/2.7/plugins/log-rotate/index.html | 8 ++---
docs/apisix/2.7/plugins/mqtt-proxy/index.html | 8 ++---
docs/apisix/2.7/plugins/node-status/index.html | 8 ++---
docs/apisix/2.7/plugins/openid-connect/index.html | 8 ++---
docs/apisix/2.7/plugins/prometheus/index.html | 8 ++---
docs/apisix/2.7/plugins/proxy-cache/index.html | 8 ++---
docs/apisix/2.7/plugins/proxy-mirror/index.html | 8 ++---
docs/apisix/2.7/plugins/proxy-rewrite/index.html | 8 ++---
docs/apisix/2.7/plugins/redirect/index.html | 8 ++---
.../2.7/plugins/referer-restriction/index.html | 8 ++---
docs/apisix/2.7/plugins/request-id/index.html | 8 ++---
.../2.7/plugins/request-validation/index.html | 8 ++---
.../apisix/2.7/plugins/response-rewrite/index.html | 8 ++---
docs/apisix/2.7/plugins/server-info/index.html | 8 ++---
docs/apisix/2.7/plugins/serverless/index.html | 8 ++---
docs/apisix/2.7/plugins/skywalking/index.html | 8 ++---
docs/apisix/2.7/plugins/sls-logger/index.html | 8 ++---
docs/apisix/2.7/plugins/syslog/index.html | 8 ++---
docs/apisix/2.7/plugins/tcp-logger/index.html | 8 ++---
docs/apisix/2.7/plugins/traffic-split/index.html | 8 ++---
docs/apisix/2.7/plugins/udp-logger/index.html | 8 ++---
docs/apisix/2.7/plugins/uri-blocker/index.html | 8 ++---
docs/apisix/2.7/plugins/wolf-rbac/index.html | 8 ++---
docs/apisix/2.7/plugins/zipkin/index.html | 8 ++---
docs/apisix/2.7/powered-by/index.html | 8 ++---
docs/apisix/2.7/profile/index.html | 8 ++---
docs/apisix/2.7/router-radixtree/index.html | 8 ++---
docs/apisix/2.7/stand-alone/index.html | 8 ++---
docs/apisix/2.7/stream-proxy/index.html | 8 ++---
docs/apisix/2.7/tags/index.html | 8 ++---
docs/apisix/2.8/FAQ/index.html | 8 ++---
docs/apisix/2.8/IGNORE_DOC/index.html | 8 ++---
docs/apisix/2.8/admin-api/index.html | 8 ++---
.../2.8/architecture-design/apisix/index.html | 8 ++---
.../2.8/architecture-design/consumer/index.html | 8 ++---
.../2.8/architecture-design/debug-mode/index.html | 8 ++---
.../2.8/architecture-design/global-rule/index.html | 8 ++---
docs/apisix/2.8/architecture-design/index.html | 8 ++---
.../architecture-design/plugin-config/index.html | 8 ++---
.../2.8/architecture-design/plugin/index.html | 8 ++---
.../2.8/architecture-design/route/index.html | 8 ++---
.../2.8/architecture-design/router/index.html | 8 ++---
.../2.8/architecture-design/script/index.html | 8 ++---
.../2.8/architecture-design/service/index.html | 8 ++---
.../2.8/architecture-design/upstream/index.html | 8 ++---
docs/apisix/2.8/aws/index.html | 8 ++---
docs/apisix/2.8/batch-processor/index.html | 8 ++---
docs/apisix/2.8/benchmark/index.html | 8 ++---
docs/apisix/2.8/certificate/index.html | 8 ++---
docs/apisix/2.8/control-api/index.html | 8 ++---
.../2.8/customize-nginx-configuration/index.html | 8 ++---
docs/apisix/2.8/debug-function/index.html | 8 ++---
docs/apisix/2.8/discovery/consul_kv/index.html | 8 ++---
docs/apisix/2.8/discovery/dns/index.html | 8 ++---
docs/apisix/2.8/discovery/eureka/index.html | 8 ++---
docs/apisix/2.8/discovery/index.html | 8 ++---
docs/apisix/2.8/discovery/nacos/index.html | 8 ++---
docs/apisix/2.8/dns/index.html | 8 ++---
.../index.html | 8 ++---
docs/apisix/2.8/external-plugin/index.html | 8 ++---
docs/apisix/2.8/getting-started/index.html | 8 ++---
docs/apisix/2.8/grpc-proxy/index.html | 8 ++---
docs/apisix/2.8/health-check/index.html | 8 ++---
docs/apisix/2.8/how-to-build/index.html | 8 ++---
docs/apisix/2.8/https/index.html | 8 ++---
docs/apisix/2.8/install-dependencies/index.html | 8 ++---
docs/apisix/2.8/mtls/index.html | 8 ++---
docs/apisix/2.8/plugin-develop/index.html | 8 ++---
docs/apisix/2.8/plugin-interceptors/index.html | 8 ++---
docs/apisix/2.8/plugins/api-breaker/index.html | 8 ++---
docs/apisix/2.8/plugins/authz-keycloak/index.html | 8 ++---
docs/apisix/2.8/plugins/basic-auth/index.html | 8 ++---
docs/apisix/2.8/plugins/batch-requests/index.html | 8 ++---
docs/apisix/2.8/plugins/client-control/index.html | 8 ++---
.../2.8/plugins/consumer-restriction/index.html | 8 ++---
docs/apisix/2.8/plugins/cors/index.html | 8 ++---
docs/apisix/2.8/plugins/dubbo-proxy/index.html | 8 ++---
docs/apisix/2.8/plugins/echo/index.html | 8 ++---
.../apisix/2.8/plugins/error-log-logger/index.html | 8 ++---
.../2.8/plugins/ext-plugin-post-req/index.html | 8 ++---
.../2.8/plugins/ext-plugin-pre-req/index.html | 8 ++---
docs/apisix/2.8/plugins/fault-injection/index.html | 8 ++---
docs/apisix/2.8/plugins/grpc-transcode/index.html | 8 ++---
docs/apisix/2.8/plugins/gzip/index.html | 8 ++---
docs/apisix/2.8/plugins/hmac-auth/index.html | 8 ++---
docs/apisix/2.8/plugins/http-logger/index.html | 8 ++---
docs/apisix/2.8/plugins/index.html | 8 ++---
docs/apisix/2.8/plugins/ip-restriction/index.html | 8 ++---
docs/apisix/2.8/plugins/jwt-auth/index.html | 8 ++---
docs/apisix/2.8/plugins/kafka-logger/index.html | 8 ++---
docs/apisix/2.8/plugins/key-auth/index.html | 8 ++---
docs/apisix/2.8/plugins/limit-conn/index.html | 8 ++---
docs/apisix/2.8/plugins/limit-count/index.html | 8 ++---
docs/apisix/2.8/plugins/limit-req/index.html | 8 ++---
docs/apisix/2.8/plugins/log-rotate/index.html | 8 ++---
docs/apisix/2.8/plugins/mqtt-proxy/index.html | 8 ++---
docs/apisix/2.8/plugins/node-status/index.html | 8 ++---
docs/apisix/2.8/plugins/openid-connect/index.html | 8 ++---
docs/apisix/2.8/plugins/prometheus/index.html | 8 ++---
docs/apisix/2.8/plugins/proxy-cache/index.html | 8 ++---
docs/apisix/2.8/plugins/proxy-mirror/index.html | 8 ++---
docs/apisix/2.8/plugins/proxy-rewrite/index.html | 8 ++---
docs/apisix/2.8/plugins/redirect/index.html | 8 ++---
.../2.8/plugins/referer-restriction/index.html | 8 ++---
docs/apisix/2.8/plugins/request-id/index.html | 8 ++---
.../2.8/plugins/request-validation/index.html | 8 ++---
.../apisix/2.8/plugins/response-rewrite/index.html | 8 ++---
docs/apisix/2.8/plugins/server-info/index.html | 8 ++---
docs/apisix/2.8/plugins/serverless/index.html | 8 ++---
docs/apisix/2.8/plugins/skywalking/index.html | 8 ++---
docs/apisix/2.8/plugins/sls-logger/index.html | 8 ++---
docs/apisix/2.8/plugins/syslog/index.html | 8 ++---
docs/apisix/2.8/plugins/tcp-logger/index.html | 8 ++---
docs/apisix/2.8/plugins/traffic-split/index.html | 8 ++---
docs/apisix/2.8/plugins/ua-restriction/index.html | 8 ++---
docs/apisix/2.8/plugins/udp-logger/index.html | 8 ++---
docs/apisix/2.8/plugins/uri-blocker/index.html | 8 ++---
docs/apisix/2.8/plugins/wolf-rbac/index.html | 8 ++---
docs/apisix/2.8/plugins/zipkin/index.html | 8 ++---
docs/apisix/2.8/powered-by/index.html | 8 ++---
docs/apisix/2.8/profile/index.html | 8 ++---
docs/apisix/2.8/router-radixtree/index.html | 8 ++---
docs/apisix/2.8/stand-alone/index.html | 8 ++---
docs/apisix/2.8/stream-proxy/index.html | 8 ++---
docs/apisix/2.8/tags/index.html | 8 ++---
docs/apisix/2.9/FAQ/index.html | 8 ++---
docs/apisix/2.9/IGNORE_DOC/index.html | 8 ++---
docs/apisix/2.9/admin-api/index.html | 8 ++---
.../2.9/architecture-design/apisix/index.html | 8 ++---
.../2.9/architecture-design/consumer/index.html | 8 ++---
.../2.9/architecture-design/debug-mode/index.html | 8 ++---
.../2.9/architecture-design/global-rule/index.html | 8 ++---
docs/apisix/2.9/architecture-design/index.html | 8 ++---
.../architecture-design/plugin-config/index.html | 8 ++---
.../2.9/architecture-design/plugin/index.html | 8 ++---
.../2.9/architecture-design/route/index.html | 8 ++---
.../2.9/architecture-design/router/index.html | 8 ++---
.../2.9/architecture-design/script/index.html | 8 ++---
.../2.9/architecture-design/service/index.html | 8 ++---
.../2.9/architecture-design/upstream/index.html | 8 ++---
docs/apisix/2.9/aws/index.html | 8 ++---
docs/apisix/2.9/batch-processor/index.html | 8 ++---
docs/apisix/2.9/benchmark/index.html | 8 ++---
docs/apisix/2.9/certificate/index.html | 8 ++---
docs/apisix/2.9/control-api/index.html | 8 ++---
.../2.9/customize-nginx-configuration/index.html | 8 ++---
docs/apisix/2.9/debug-function/index.html | 8 ++---
docs/apisix/2.9/discovery/consul_kv/index.html | 8 ++---
docs/apisix/2.9/discovery/dns/index.html | 8 ++---
docs/apisix/2.9/discovery/eureka/index.html | 8 ++---
docs/apisix/2.9/discovery/index.html | 8 ++---
docs/apisix/2.9/discovery/nacos/index.html | 8 ++---
docs/apisix/2.9/dns/index.html | 8 ++---
.../index.html | 8 ++---
docs/apisix/2.9/external-plugin/index.html | 8 ++---
docs/apisix/2.9/getting-started/index.html | 8 ++---
docs/apisix/2.9/grpc-proxy/index.html | 8 ++---
docs/apisix/2.9/health-check/index.html | 8 ++---
docs/apisix/2.9/how-to-build/index.html | 8 ++---
docs/apisix/2.9/https/index.html | 8 ++---
docs/apisix/2.9/install-dependencies/index.html | 8 ++---
.../2.9/internal/testing-framework/index.html | 8 ++---
docs/apisix/2.9/mtls/index.html | 8 ++---
docs/apisix/2.9/plugin-develop/index.html | 8 ++---
docs/apisix/2.9/plugin-interceptors/index.html | 8 ++---
docs/apisix/2.9/plugins/api-breaker/index.html | 8 ++---
docs/apisix/2.9/plugins/authz-casbin/index.html | 8 ++---
docs/apisix/2.9/plugins/authz-keycloak/index.html | 8 ++---
docs/apisix/2.9/plugins/basic-auth/index.html | 8 ++---
docs/apisix/2.9/plugins/batch-requests/index.html | 8 ++---
docs/apisix/2.9/plugins/client-control/index.html | 8 ++---
.../2.9/plugins/consumer-restriction/index.html | 8 ++---
docs/apisix/2.9/plugins/cors/index.html | 8 ++---
docs/apisix/2.9/plugins/dubbo-proxy/index.html | 8 ++---
docs/apisix/2.9/plugins/echo/index.html | 8 ++---
.../apisix/2.9/plugins/error-log-logger/index.html | 8 ++---
.../2.9/plugins/ext-plugin-post-req/index.html | 8 ++---
.../2.9/plugins/ext-plugin-pre-req/index.html | 8 ++---
docs/apisix/2.9/plugins/fault-injection/index.html | 8 ++---
docs/apisix/2.9/plugins/grpc-transcode/index.html | 8 ++---
docs/apisix/2.9/plugins/gzip/index.html | 8 ++---
docs/apisix/2.9/plugins/hmac-auth/index.html | 8 ++---
docs/apisix/2.9/plugins/http-logger/index.html | 8 ++---
docs/apisix/2.9/plugins/index.html | 8 ++---
docs/apisix/2.9/plugins/ip-restriction/index.html | 8 ++---
docs/apisix/2.9/plugins/jwt-auth/index.html | 8 ++---
docs/apisix/2.9/plugins/kafka-logger/index.html | 8 ++---
docs/apisix/2.9/plugins/key-auth/index.html | 8 ++---
docs/apisix/2.9/plugins/limit-conn/index.html | 8 ++---
docs/apisix/2.9/plugins/limit-count/index.html | 8 ++---
docs/apisix/2.9/plugins/limit-req/index.html | 8 ++---
docs/apisix/2.9/plugins/log-rotate/index.html | 8 ++---
docs/apisix/2.9/plugins/mqtt-proxy/index.html | 8 ++---
docs/apisix/2.9/plugins/node-status/index.html | 8 ++---
docs/apisix/2.9/plugins/openid-connect/index.html | 8 ++---
docs/apisix/2.9/plugins/prometheus/index.html | 8 ++---
docs/apisix/2.9/plugins/proxy-cache/index.html | 8 ++---
docs/apisix/2.9/plugins/proxy-mirror/index.html | 8 ++---
docs/apisix/2.9/plugins/proxy-rewrite/index.html | 8 ++---
docs/apisix/2.9/plugins/real-ip/index.html | 8 ++---
docs/apisix/2.9/plugins/redirect/index.html | 8 ++---
.../2.9/plugins/referer-restriction/index.html | 8 ++---
docs/apisix/2.9/plugins/request-id/index.html | 8 ++---
.../2.9/plugins/request-validation/index.html | 8 ++---
.../apisix/2.9/plugins/response-rewrite/index.html | 8 ++---
docs/apisix/2.9/plugins/server-info/index.html | 8 ++---
docs/apisix/2.9/plugins/serverless/index.html | 8 ++---
docs/apisix/2.9/plugins/skywalking/index.html | 8 ++---
docs/apisix/2.9/plugins/sls-logger/index.html | 8 ++---
docs/apisix/2.9/plugins/syslog/index.html | 8 ++---
docs/apisix/2.9/plugins/tcp-logger/index.html | 8 ++---
docs/apisix/2.9/plugins/traffic-split/index.html | 8 ++---
docs/apisix/2.9/plugins/ua-restriction/index.html | 8 ++---
docs/apisix/2.9/plugins/udp-logger/index.html | 8 ++---
docs/apisix/2.9/plugins/uri-blocker/index.html | 8 ++---
docs/apisix/2.9/plugins/wolf-rbac/index.html | 8 ++---
docs/apisix/2.9/plugins/zipkin/index.html | 8 ++---
docs/apisix/2.9/powered-by/index.html | 8 ++---
docs/apisix/2.9/profile/index.html | 8 ++---
docs/apisix/2.9/router-radixtree/index.html | 8 ++---
docs/apisix/2.9/stand-alone/index.html | 8 ++---
docs/apisix/2.9/stream-proxy/index.html | 8 ++---
docs/apisix/2.9/tags/index.html | 8 ++---
docs/apisix/FAQ/index.html | 8 ++---
docs/apisix/IGNORE_DOC/index.html | 8 ++---
docs/apisix/admin-api/index.html | 8 ++---
docs/apisix/architecture-design/apisix/index.html | 8 ++---
.../apisix/architecture-design/consumer/index.html | 8 ++---
.../architecture-design/debug-mode/index.html | 8 ++---
.../architecture-design/global-rule/index.html | 8 ++---
docs/apisix/architecture-design/index.html | 8 ++---
.../architecture-design/plugin-config/index.html | 8 ++---
docs/apisix/architecture-design/plugin/index.html | 8 ++---
docs/apisix/architecture-design/route/index.html | 8 ++---
docs/apisix/architecture-design/router/index.html | 8 ++---
docs/apisix/architecture-design/script/index.html | 8 ++---
docs/apisix/architecture-design/service/index.html | 8 ++---
.../apisix/architecture-design/upstream/index.html | 8 ++---
docs/apisix/aws/index.html | 8 ++---
docs/apisix/batch-processor/index.html | 8 ++---
docs/apisix/benchmark/index.html | 8 ++---
docs/apisix/certificate/index.html | 8 ++---
docs/apisix/control-api/index.html | 8 ++---
.../customize-nginx-configuration/index.html | 8 ++---
docs/apisix/debug-function/index.html | 8 ++---
docs/apisix/discovery/consul_kv/index.html | 8 ++---
docs/apisix/discovery/dns/index.html | 8 ++---
docs/apisix/discovery/eureka/index.html | 8 ++---
docs/apisix/discovery/index.html | 8 ++---
docs/apisix/discovery/nacos/index.html | 8 ++---
docs/apisix/dns/index.html | 8 ++---
.../index.html | 8 ++---
docs/apisix/external-plugin/index.html | 8 ++---
docs/apisix/getting-started/index.html | 8 ++---
docs/apisix/grpc-proxy/index.html | 8 ++---
docs/apisix/health-check/index.html | 8 ++---
docs/apisix/how-to-build/index.html | 8 ++---
docs/apisix/https/index.html | 8 ++---
docs/apisix/install-dependencies/index.html | 8 ++---
docs/apisix/internal/testing-framework/index.html | 8 ++---
docs/apisix/mtls/index.html | 8 ++---
docs/apisix/next/FAQ/index.html | 8 ++---
docs/apisix/next/IGNORE_DOC/index.html | 10 +++----
docs/apisix/next/admin-api/index.html | 8 ++---
.../next/architecture-design/apisix/index.html | 8 ++---
.../next/architecture-design/consumer/index.html | 8 ++---
.../next/architecture-design/debug-mode/index.html | 8 ++---
.../architecture-design/global-rule/index.html | 8 ++---
docs/apisix/next/architecture-design/index.html | 8 ++---
.../architecture-design/plugin-config/index.html | 8 ++---
.../next/architecture-design/plugin/index.html | 8 ++---
.../next/architecture-design/route/index.html | 8 ++---
.../next/architecture-design/router/index.html | 8 ++---
.../next/architecture-design/script/index.html | 8 ++---
.../next/architecture-design/service/index.html | 8 ++---
.../next/architecture-design/upstream/index.html | 8 ++---
docs/apisix/next/aws/index.html | 8 ++---
docs/apisix/next/batch-processor/index.html | 8 ++---
docs/apisix/next/benchmark/index.html | 8 ++---
docs/apisix/next/certificate/index.html | 8 ++---
docs/apisix/next/control-api/index.html | 8 ++---
.../next/customize-nginx-configuration/index.html | 8 ++---
docs/apisix/next/debug-function/index.html | 8 ++---
docs/apisix/next/discovery/consul_kv/index.html | 8 ++---
docs/apisix/next/discovery/dns/index.html | 8 ++---
docs/apisix/next/discovery/eureka/index.html | 8 ++---
docs/apisix/next/discovery/index.html | 8 ++---
docs/apisix/next/discovery/nacos/index.html | 8 ++---
docs/apisix/next/dns/index.html | 8 ++---
.../index.html | 8 ++---
docs/apisix/next/external-plugin/index.html | 8 ++---
docs/apisix/next/getting-started/index.html | 8 ++---
docs/apisix/next/grpc-proxy/index.html | 8 ++---
docs/apisix/next/health-check/index.html | 8 ++---
docs/apisix/next/how-to-build/index.html | 8 ++---
docs/apisix/next/https/index.html | 8 ++---
docs/apisix/next/install-dependencies/index.html | 8 ++---
.../next/internal/testing-framework/index.html | 8 ++---
docs/apisix/next/mtls/index.html | 8 ++---
docs/apisix/next/plugin-develop/index.html | 8 ++---
docs/apisix/next/plugin-interceptors/index.html | 8 ++---
docs/apisix/next/plugins/api-breaker/index.html | 8 ++---
docs/apisix/next/plugins/authz-casbin/index.html | 8 ++---
docs/apisix/next/plugins/authz-keycloak/index.html | 8 ++---
docs/apisix/next/plugins/aws-lambda/index.html | 8 ++---
.../apisix/next/plugins/azure-functions/index.html | 8 ++---
docs/apisix/next/plugins/basic-auth/index.html | 8 ++---
docs/apisix/next/plugins/batch-requests/index.html | 8 ++---
docs/apisix/next/plugins/client-control/index.html | 8 ++---
.../next/plugins/consumer-restriction/index.html | 8 ++---
docs/apisix/next/plugins/cors/index.html | 8 ++---
docs/apisix/next/plugins/datadog/index.html | 8 ++---
docs/apisix/next/plugins/dubbo-proxy/index.html | 8 ++---
docs/apisix/next/plugins/echo/index.html | 8 ++---
.../next/plugins/error-log-logger/index.html | 8 ++---
.../next/plugins/ext-plugin-post-req/index.html | 8 ++---
.../next/plugins/ext-plugin-pre-req/index.html | 8 ++---
.../apisix/next/plugins/fault-injection/index.html | 8 ++---
.../next/plugins/google-cloud-logging/index.html | 8 ++---
docs/apisix/next/plugins/grpc-transcode/index.html | 8 ++---
docs/apisix/next/plugins/gzip/index.html | 8 ++---
docs/apisix/next/plugins/hmac-auth/index.html | 8 ++---
docs/apisix/next/plugins/http-logger/index.html | 8 ++---
docs/apisix/next/plugins/index.html | 8 ++---
docs/apisix/next/plugins/ip-restriction/index.html | 8 ++---
docs/apisix/next/plugins/jwt-auth/index.html | 8 ++---
docs/apisix/next/plugins/kafka-logger/index.html | 8 ++---
docs/apisix/next/plugins/key-auth/index.html | 8 ++---
docs/apisix/next/plugins/ldap-auth/index.html | 8 ++---
docs/apisix/next/plugins/limit-conn/index.html | 8 ++---
docs/apisix/next/plugins/limit-count/index.html | 8 ++---
docs/apisix/next/plugins/limit-req/index.html | 8 ++---
docs/apisix/next/plugins/log-rotate/index.html | 8 ++---
docs/apisix/next/plugins/mqtt-proxy/index.html | 8 ++---
docs/apisix/next/plugins/node-status/index.html | 8 ++---
docs/apisix/next/plugins/openid-connect/index.html | 8 ++---
docs/apisix/next/plugins/openwhisk/index.html | 8 ++---
docs/apisix/next/plugins/prometheus/index.html | 8 ++---
docs/apisix/next/plugins/proxy-cache/index.html | 8 ++---
docs/apisix/next/plugins/proxy-mirror/index.html | 8 ++---
docs/apisix/next/plugins/proxy-rewrite/index.html | 8 ++---
docs/apisix/next/plugins/real-ip/index.html | 8 ++---
docs/apisix/next/plugins/redirect/index.html | 8 ++---
.../next/plugins/referer-restriction/index.html | 8 ++---
docs/apisix/next/plugins/request-id/index.html | 8 ++---
.../next/plugins/request-validation/index.html | 8 ++---
.../next/plugins/response-rewrite/index.html | 8 ++---
docs/apisix/next/plugins/server-info/index.html | 8 ++---
docs/apisix/next/plugins/serverless/index.html | 8 ++---
.../next/plugins/skywalking-logger/index.html | 8 ++---
docs/apisix/next/plugins/skywalking/index.html | 8 ++---
docs/apisix/next/plugins/sls-logger/index.html | 8 ++---
docs/apisix/next/plugins/syslog/index.html | 8 ++---
docs/apisix/next/plugins/tcp-logger/index.html | 8 ++---
docs/apisix/next/plugins/traffic-split/index.html | 8 ++---
docs/apisix/next/plugins/ua-restriction/index.html | 8 ++---
docs/apisix/next/plugins/udp-logger/index.html | 8 ++---
docs/apisix/next/plugins/uri-blocker/index.html | 8 ++---
docs/apisix/next/plugins/wolf-rbac/index.html | 8 ++---
docs/apisix/next/plugins/zipkin/index.html | 8 ++---
docs/apisix/next/powered-by/index.html | 8 ++---
docs/apisix/next/profile/index.html | 8 ++---
docs/apisix/next/router-radixtree/index.html | 8 ++---
docs/apisix/next/stand-alone/index.html | 8 ++---
docs/apisix/next/stream-proxy/index.html | 8 ++---
docs/apisix/next/tags/index.html | 8 ++---
docs/apisix/next/wasm/index.html | 8 ++---
docs/apisix/plugin-develop/index.html | 8 ++---
docs/apisix/plugin-interceptors/index.html | 8 ++---
docs/apisix/plugins/api-breaker/index.html | 8 ++---
docs/apisix/plugins/authz-casbin/index.html | 8 ++---
docs/apisix/plugins/authz-keycloak/index.html | 8 ++---
docs/apisix/plugins/azure-functions/index.html | 8 ++---
docs/apisix/plugins/basic-auth/index.html | 8 ++---
docs/apisix/plugins/batch-requests/index.html | 8 ++---
docs/apisix/plugins/client-control/index.html | 8 ++---
.../apisix/plugins/consumer-restriction/index.html | 8 ++---
docs/apisix/plugins/cors/index.html | 8 ++---
docs/apisix/plugins/datadog/index.html | 8 ++---
docs/apisix/plugins/dubbo-proxy/index.html | 8 ++---
docs/apisix/plugins/echo/index.html | 8 ++---
docs/apisix/plugins/error-log-logger/index.html | 8 ++---
docs/apisix/plugins/ext-plugin-post-req/index.html | 8 ++---
docs/apisix/plugins/ext-plugin-pre-req/index.html | 8 ++---
docs/apisix/plugins/fault-injection/index.html | 8 ++---
docs/apisix/plugins/grpc-transcode/index.html | 8 ++---
docs/apisix/plugins/gzip/index.html | 8 ++---
docs/apisix/plugins/hmac-auth/index.html | 8 ++---
docs/apisix/plugins/http-logger/index.html | 8 ++---
docs/apisix/plugins/index.html | 8 ++---
docs/apisix/plugins/ip-restriction/index.html | 8 ++---
docs/apisix/plugins/jwt-auth/index.html | 8 ++---
docs/apisix/plugins/kafka-logger/index.html | 8 ++---
docs/apisix/plugins/key-auth/index.html | 8 ++---
docs/apisix/plugins/ldap-auth/index.html | 8 ++---
docs/apisix/plugins/limit-conn/index.html | 8 ++---
docs/apisix/plugins/limit-count/index.html | 8 ++---
docs/apisix/plugins/limit-req/index.html | 8 ++---
docs/apisix/plugins/log-rotate/index.html | 8 ++---
docs/apisix/plugins/mqtt-proxy/index.html | 8 ++---
docs/apisix/plugins/node-status/index.html | 8 ++---
docs/apisix/plugins/openid-connect/index.html | 8 ++---
docs/apisix/plugins/prometheus/index.html | 8 ++---
docs/apisix/plugins/proxy-cache/index.html | 8 ++---
docs/apisix/plugins/proxy-mirror/index.html | 8 ++---
docs/apisix/plugins/proxy-rewrite/index.html | 8 ++---
docs/apisix/plugins/real-ip/index.html | 8 ++---
docs/apisix/plugins/redirect/index.html | 8 ++---
docs/apisix/plugins/referer-restriction/index.html | 8 ++---
docs/apisix/plugins/request-id/index.html | 8 ++---
docs/apisix/plugins/request-validation/index.html | 8 ++---
docs/apisix/plugins/response-rewrite/index.html | 8 ++---
docs/apisix/plugins/server-info/index.html | 8 ++---
docs/apisix/plugins/serverless/index.html | 8 ++---
docs/apisix/plugins/skywalking-logger/index.html | 8 ++---
docs/apisix/plugins/skywalking/index.html | 8 ++---
docs/apisix/plugins/sls-logger/index.html | 8 ++---
docs/apisix/plugins/syslog/index.html | 8 ++---
docs/apisix/plugins/tcp-logger/index.html | 8 ++---
docs/apisix/plugins/traffic-split/index.html | 8 ++---
docs/apisix/plugins/ua-restriction/index.html | 8 ++---
docs/apisix/plugins/udp-logger/index.html | 8 ++---
docs/apisix/plugins/uri-blocker/index.html | 8 ++---
docs/apisix/plugins/wolf-rbac/index.html | 8 ++---
docs/apisix/plugins/zipkin/index.html | 8 ++---
docs/apisix/powered-by/index.html | 8 ++---
docs/apisix/profile/index.html | 8 ++---
docs/apisix/router-radixtree/index.html | 8 ++---
docs/apisix/stand-alone/index.html | 8 ++---
docs/apisix/stream-proxy/index.html | 8 ++---
docs/apisix/tags/index.html | 8 ++---
docs/apisix/wasm/index.html | 8 ++---
docs/dashboard/2.5/FAQ/index.html | 8 ++---
docs/dashboard/2.5/I18N_USER_GUIDE/index.html | 8 ++---
docs/dashboard/2.5/IGNORE_DOC/index.html | 8 ++---
.../2.5/IMPORT_OPENAPI_USER_GUIDE/index.html | 8 ++---
docs/dashboard/2.5/USER_GUIDE/index.html | 8 ++---
docs/dashboard/2.5/api/api/index.html | 8 ++---
docs/dashboard/2.5/back-end-tests/index.html | 8 ++---
docs/dashboard/2.5/deploy-with-docker/index.html | 8 ++---
docs/dashboard/2.5/deploy-with-rpm/index.html | 8 ++---
docs/dashboard/2.5/deploy/index.html | 8 ++---
docs/dashboard/2.5/develop/index.html | 8 ++---
docs/dashboard/2.5/front-end-e2e/index.html | 8 ++---
docs/dashboard/2.5/tags/index.html | 8 ++---
docs/dashboard/2.6.1/FAQ/index.html | 8 ++---
docs/dashboard/2.6.1/I18N_USER_GUIDE/index.html | 8 ++---
docs/dashboard/2.6.1/IGNORE_DOC/index.html | 8 ++---
.../2.6.1/IMPORT_OPENAPI_USER_GUIDE/index.html | 8 ++---
docs/dashboard/2.6.1/USER_GUIDE/index.html | 8 ++---
docs/dashboard/2.6.1/api/api/index.html | 8 ++---
docs/dashboard/2.6.1/back-end-tests/index.html | 8 ++---
docs/dashboard/2.6.1/deploy-with-docker/index.html | 8 ++---
docs/dashboard/2.6.1/deploy-with-rpm/index.html | 8 ++---
docs/dashboard/2.6.1/deploy/index.html | 8 ++---
docs/dashboard/2.6.1/develop/index.html | 8 ++---
docs/dashboard/2.6.1/front-end-e2e/index.html | 8 ++---
docs/dashboard/2.6.1/tags/index.html | 8 ++---
docs/dashboard/2.6/FAQ/index.html | 8 ++---
docs/dashboard/2.6/I18N_USER_GUIDE/index.html | 8 ++---
docs/dashboard/2.6/IGNORE_DOC/index.html | 8 ++---
.../2.6/IMPORT_OPENAPI_USER_GUIDE/index.html | 8 ++---
docs/dashboard/2.6/USER_GUIDE/index.html | 8 ++---
docs/dashboard/2.6/api/api/index.html | 8 ++---
docs/dashboard/2.6/back-end-tests/index.html | 8 ++---
docs/dashboard/2.6/deploy-with-docker/index.html | 8 ++---
docs/dashboard/2.6/deploy-with-rpm/index.html | 8 ++---
docs/dashboard/2.6/deploy/index.html | 8 ++---
docs/dashboard/2.6/develop/index.html | 8 ++---
docs/dashboard/2.6/front-end-e2e/index.html | 8 ++---
docs/dashboard/2.6/tags/index.html | 8 ++---
docs/dashboard/2.7.1/FAQ/index.html | 8 ++---
docs/dashboard/2.7.1/I18N_USER_GUIDE/index.html | 8 ++---
docs/dashboard/2.7.1/IGNORE_DOC/index.html | 8 ++---
.../2.7.1/IMPORT_OPENAPI_USER_GUIDE/index.html | 8 ++---
docs/dashboard/2.7.1/USER_GUIDE/index.html | 8 ++---
docs/dashboard/2.7.1/api/api/index.html | 8 ++---
docs/dashboard/2.7.1/back-end-tests/index.html | 8 ++---
docs/dashboard/2.7.1/deploy-with-docker/index.html | 8 ++---
docs/dashboard/2.7.1/deploy-with-rpm/index.html | 8 ++---
docs/dashboard/2.7.1/deploy/index.html | 8 ++---
docs/dashboard/2.7.1/develop/index.html | 8 ++---
docs/dashboard/2.7.1/front-end-e2e/index.html | 8 ++---
docs/dashboard/2.7.1/tags/index.html | 8 ++---
docs/dashboard/2.7/FAQ/index.html | 8 ++---
docs/dashboard/2.7/I18N_USER_GUIDE/index.html | 8 ++---
docs/dashboard/2.7/IGNORE_DOC/index.html | 8 ++---
.../2.7/IMPORT_OPENAPI_USER_GUIDE/index.html | 8 ++---
docs/dashboard/2.7/USER_GUIDE/index.html | 8 ++---
docs/dashboard/2.7/api/api/index.html | 8 ++---
docs/dashboard/2.7/back-end-tests/index.html | 8 ++---
docs/dashboard/2.7/deploy-with-docker/index.html | 8 ++---
docs/dashboard/2.7/deploy-with-rpm/index.html | 8 ++---
docs/dashboard/2.7/deploy/index.html | 8 ++---
docs/dashboard/2.7/develop/index.html | 8 ++---
docs/dashboard/2.7/front-end-e2e/index.html | 8 ++---
docs/dashboard/2.7/tags/index.html | 8 ++---
docs/dashboard/2.8/FAQ/index.html | 8 ++---
docs/dashboard/2.8/I18N_USER_GUIDE/index.html | 8 ++---
docs/dashboard/2.8/IGNORE_DOC/index.html | 8 ++---
.../2.8/IMPORT_OPENAPI_USER_GUIDE/index.html | 8 ++---
docs/dashboard/2.8/USER_GUIDE/index.html | 8 ++---
docs/dashboard/2.8/api/api/index.html | 8 ++---
docs/dashboard/2.8/back-end-tests/index.html | 8 ++---
docs/dashboard/2.8/deploy-with-docker/index.html | 8 ++---
docs/dashboard/2.8/deploy-with-rpm/index.html | 8 ++---
docs/dashboard/2.8/deploy/index.html | 8 ++---
docs/dashboard/2.8/develop/index.html | 8 ++---
docs/dashboard/2.8/front-end-e2e/index.html | 8 ++---
docs/dashboard/2.8/tags/index.html | 8 ++---
docs/dashboard/FAQ/index.html | 8 ++---
docs/dashboard/I18N_USER_GUIDE/index.html | 8 ++---
docs/dashboard/IGNORE_DOC/index.html | 8 ++---
.../dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html | 8 ++---
docs/dashboard/USER_GUIDE/index.html | 8 ++---
docs/dashboard/api/api/index.html | 8 ++---
docs/dashboard/back-end-tests/index.html | 8 ++---
docs/dashboard/deploy-with-docker/index.html | 8 ++---
docs/dashboard/deploy-with-rpm/index.html | 8 ++---
docs/dashboard/deploy/index.html | 8 ++---
docs/dashboard/develop/index.html | 8 ++---
docs/dashboard/front-end-e2e/index.html | 8 ++---
docs/dashboard/next/FAQ/index.html | 8 ++---
docs/dashboard/next/I18N_USER_GUIDE/index.html | 8 ++---
docs/dashboard/next/IGNORE_DOC/index.html | 10 +++----
.../next/IMPORT_OPENAPI_USER_GUIDE/index.html | 8 ++---
docs/dashboard/next/USER_GUIDE/index.html | 8 ++---
docs/dashboard/next/api/api/index.html | 8 ++---
docs/dashboard/next/back-end-tests/index.html | 8 ++---
docs/dashboard/next/deploy-with-docker/index.html | 8 ++---
docs/dashboard/next/deploy-with-rpm/index.html | 8 ++---
docs/dashboard/next/deploy/index.html | 8 ++---
docs/dashboard/next/develop/index.html | 8 ++---
docs/dashboard/next/front-end-e2e/index.html | 8 ++---
docs/dashboard/next/install/index.html | 8 ++---
docs/dashboard/next/tags/index.html | 8 ++---
docs/dashboard/tags/index.html | 8 ++---
docs/docker/IGNORE_DOC/index.html | 8 ++---
docs/docker/apisix-2.10.0/IGNORE_DOC/index.html | 8 ++---
docs/docker/apisix-2.10.0/build/index.html | 8 ++---
docs/docker/apisix-2.10.0/example/index.html | 8 ++---
docs/docker/apisix-2.10.0/manual/index.html | 8 ++---
docs/docker/apisix-2.10.0/tags/index.html | 8 ++---
docs/docker/apisix-2.10.1/IGNORE_DOC/index.html | 8 ++---
docs/docker/apisix-2.10.1/build/index.html | 8 ++---
docs/docker/apisix-2.10.1/example/index.html | 8 ++---
docs/docker/apisix-2.10.1/manual/index.html | 8 ++---
docs/docker/apisix-2.10.1/tags/index.html | 8 ++---
docs/docker/apisix-2.10.2/IGNORE_DOC/index.html | 8 ++---
docs/docker/apisix-2.10.2/build/index.html | 8 ++---
docs/docker/apisix-2.10.2/example/index.html | 8 ++---
docs/docker/apisix-2.10.2/manual/index.html | 8 ++---
docs/docker/apisix-2.10.2/tags/index.html | 8 ++---
docs/docker/apisix-2.9.0/IGNORE_DOC/index.html | 8 ++---
docs/docker/apisix-2.9.0/build/index.html | 8 ++---
docs/docker/apisix-2.9.0/example/index.html | 8 ++---
docs/docker/apisix-2.9.0/manual/index.html | 8 ++---
docs/docker/apisix-2.9.0/tags/index.html | 8 ++---
docs/docker/build/index.html | 8 ++---
docs/docker/dashboard-2.7.1/IGNORE_DOC/index.html | 8 ++---
docs/docker/dashboard-2.7.1/build/index.html | 8 ++---
docs/docker/dashboard-2.7.1/example/index.html | 8 ++---
docs/docker/dashboard-2.7.1/manual/index.html | 8 ++---
docs/docker/dashboard-2.7.1/tags/index.html | 8 ++---
docs/docker/example/index.html | 8 ++---
docs/docker/manual/index.html | 8 ++---
docs/docker/next/IGNORE_DOC/index.html | 10 +++----
docs/docker/next/build/index.html | 8 ++---
docs/docker/next/example/index.html | 8 ++---
docs/docker/next/manual/index.html | 8 ++---
docs/docker/next/tags/index.html | 8 ++---
docs/docker/tags/index.html | 8 ++---
docs/general/2fa/index.html | 10 +++----
docs/general/blog/index.html | 10 +++----
docs/general/committer-guide/index.html | 10 +++----
docs/general/community/index.html | 10 +++----
docs/general/contributor-guide/index.html | 10 +++----
.../general/integrate-with-project-docs/index.html | 10 +++----
docs/general/release-guide/index.html | 10 +++----
docs/general/security/index.html | 10 +++----
docs/general/subscribe-guide/index.html | 10 +++----
docs/general/tags/index.html | 8 ++---
docs/go-plugin-runner/0.1.0/IGNORE_DOC/index.html | 8 ++---
.../0.1.0/developer-guide/index.html | 8 ++---
.../0.1.0/getting-started/index.html | 8 ++---
docs/go-plugin-runner/0.1.0/tags/index.html | 8 ++---
docs/go-plugin-runner/IGNORE_DOC/index.html | 8 ++---
docs/go-plugin-runner/developer-guide/index.html | 8 ++---
docs/go-plugin-runner/getting-started/index.html | 8 ++---
docs/go-plugin-runner/next/IGNORE_DOC/index.html | 10 +++----
.../next/developer-guide/index.html | 8 ++---
.../next/getting-started/index.html | 8 ++---
docs/go-plugin-runner/next/tags/index.html | 8 ++---
docs/go-plugin-runner/tags/index.html | 8 ++---
docs/helm-chart/FAQ/index.html | 8 ++---
docs/helm-chart/IGNORE_DOC/index.html | 10 +++----
docs/helm-chart/apisix-dashboard/index.html | 8 ++---
.../apisix-ingress-controller/index.html | 8 ++---
docs/helm-chart/apisix/index.html | 8 ++---
docs/helm-chart/tags/index.html | 8 ++---
docs/index.html | 8 ++---
docs/ingress-controller/FAQ/index.html | 8 ++---
docs/ingress-controller/IGNORE_DOC/index.html | 10 +++----
.../concepts/annotations/index.html | 8 ++---
.../concepts/apisix_cluster_config/index.html | 8 ++---
.../concepts/apisix_route/index.html | 8 ++---
.../concepts/apisix_tls/index.html | 8 ++---
.../concepts/apisix_upstream/index.html | 8 ++---
docs/ingress-controller/contribute/index.html | 8 ++---
docs/ingress-controller/deployments/ack/index.html | 8 ++---
docs/ingress-controller/deployments/aws/index.html | 8 ++---
.../deployments/azure/index.html | 8 ++---
docs/ingress-controller/deployments/gke/index.html | 8 ++---
.../deployments/k3s-rke/index.html | 8 ++---
.../deployments/kubesphere/index.html | 8 ++---
.../deployments/minikube/index.html | 8 ++---
docs/ingress-controller/deployments/tke/index.html | 8 ++---
docs/ingress-controller/design/index.html | 8 ++---
docs/ingress-controller/development/index.html | 8 ++---
docs/ingress-controller/getting-started/index.html | 8 ++---
.../practices/check-crd-status/index.html | 8 ++---
docs/ingress-controller/practices/index/index.html | 8 ++---
.../index.html | 8 ++---
.../index.html | 8 ++---
docs/ingress-controller/practices/mtls/index.html | 8 ++---
.../practices/proxy-grpc-service/index.html | 8 ++---
.../index.html | 8 ++---
.../practices/proxy-the-httpbin-service/index.html | 8 ++---
.../practices/the-hard-way/index.html | 8 ++---
.../references/apisix_cluster_config/index.html | 8 ++---
.../references/apisix_route_v1/index.html | 8 ++---
.../references/apisix_route_v2alpha1/index.html | 8 ++---
.../references/apisix_route_v2beta1/index.html | 8 ++---
.../references/apisix_tls/index.html | 8 ++---
.../references/apisix_upstream/index.html | 8 ++---
docs/ingress-controller/tags/index.html | 8 ++---
docs/ingress-controller/upgrade/index.html | 8 ++---
docs/java-plugin-runner/IGNORE_DOC/index.html | 8 ++---
docs/java-plugin-runner/development/index.html | 8 ++---
docs/java-plugin-runner/how-it-works/index.html | 8 ++---
docs/java-plugin-runner/next/IGNORE_DOC/index.html | 10 +++----
.../java-plugin-runner/next/development/index.html | 8 ++---
.../next/how-it-works/index.html | 8 ++---
docs/java-plugin-runner/next/tags/index.html | 8 ++---
.../index.html | 8 ++---
docs/java-plugin-runner/tags/index.html | 8 ++---
.../index.html | 8 ++---
docs/python-plugin-runner/IGNORE_DOC/index.html | 8 ++---
.../developer-guide/index.html | 8 ++---
.../getting-started/index.html | 8 ++---
.../next/IGNORE_DOC/index.html | 10 +++----
.../next/developer-guide/index.html | 8 ++---
.../next/getting-started/index.html | 8 ++---
docs/python-plugin-runner/next/tags/index.html | 8 ++---
docs/python-plugin-runner/tags/index.html | 8 ++---
downloads/index.html | 8 ++---
events/archive/index.html | 8 ++---
help/index.html | 8 ++---
index.html | 8 ++---
plugins/index.html | 8 ++---
.../11/15/release-apache-apisix-0.9/index.html | 8 ++---
.../2019/9/29/release-apache-apisix-0.8/index.html | 8 ++---
.../2019/9/6/release-apache-apisix-0.7/index.html | 8 ++---
.../2020/1/15/release-apache-apisix-1.0/index.html | 8 ++---
.../10/28/release-apache-apisix-2.0/index.html | 8 ++---
.../2020/12/1/release-apache-apisix-2.1/index.html | 8 ++---
.../release-apache-apisix-dashboard-2.2/index.html | 8 ++---
.../index.html | 8 ++---
.../2020/2/24/release-apache-apisix-1.1/index.html | 8 ++---
.../release-apache-apisix-dashboard-1.0/index.html | 8 ++---
.../2020/4/20/release-apache-apisix-1.2/index.html | 8 ++---
.../2020/5/26/release-apache-apisix-1.3/index.html | 8 ++---
.../2020/6/30/release-apache-apisix-1.4/index.html | 8 ++---
.../7/20/release-apache-apisix-1.4.1/index.html | 8 ++---
.../release-apache-apisix-dashboard-1.5/index.html | 8 ++---
.../2020/8/6/release-apache-apisix-1.5/index.html | 8 ++---
.../release-apache-apisix-dashboard-2.3/index.html | 8 ++---
.../index.html | 8 ++---
.../2021/1/8/release-apache-apisix-2.2/index.html | 8 ++---
.../index.html | 8 ++---
.../index.html | 8 ++---
.../release-apache-apisix-dashboard-2.4/index.html | 8 ++---
.../2021/2/9/release-apache-apisix-2.3/index.html | 8 ++---
.../index.html | 8 ++---
.../release-apache-apisix-dashboard-2.5/index.html | 8 ++---
.../2021/3/5/release-apache-apisix-2.4/index.html | 8 ++---
.../index.html | 8 ++---
.../release-apache-apisix-dashboard-2.6/index.html | 8 ++---
.../2021/4/5/release-apache-apisix-2.5/index.html | 8 ++---
.../index.html | 8 ++---
.../2021/5/24/release-apache-apisix-2.6/index.html | 8 ++---
.../index.html | 8 ++---
.../release-apache-apisix-dashboard-2.7/index.html | 8 ++---
.../index.html | 8 ++---
.../2021/6/25/release-apache-apisix-2.7/index.html | 8 ++---
.../index.html | 8 ++---
.../index.html | 8 ++---
.../2021/7/27/release-apache-apisix-2.8/index.html | 8 ++---
.../index.html | 8 ++---
.../index.html | 8 ++---
.../index.html | 8 ++---
.../2021/8/27/release-apache-apisix-2.9/index.html | 8 ++---
.../index.html | 8 ++---
.../index.html | 8 ++---
.../release-apache-apisix-dashboard-2.8/index.html | 8 ++---
releases/archive/index.html | 8 ++---
releases/index.html | 8 ++---
releases/page/2/index.html | 8 ++---
releases/page/3/index.html | 8 ++---
releases/page/4/index.html | 8 ++---
releases/page/5/index.html | 8 ++---
releases/tags/apisix-dashboard/index.html | 8 ++---
releases/tags/apisix-go-plugin-runner/index.html | 8 ++---
releases/tags/apisix-ingress-controller/index.html | 8 ++---
releases/tags/apisix-java-plugin-runner/index.html | 8 ++---
.../tags/apisix-python-plugin-runner/index.html | 8 ++---
releases/tags/apisix/index.html | 8 ++---
releases/tags/index.html | 8 ++---
search/index.html | 10 +++----
sections/architecture/index.html | 8 ++---
sections/benefits/index.html | 8 ++---
sections/comparison/index.html | 8 ++---
sections/components/arrowAnim/index.html | 8 ++---
sections/components/eventPosterCard/index.html | 8 ++---
sections/components/heroCanvas/index.html | 8 ++---
sections/components/ossCanvas/index.html | 8 ++---
sections/endcta/index.html | 8 ++---
sections/features/index.html | 8 ++---
sections/heroSection/index.html | 8 ++---
sections/home-events-section/index.html | 8 ++---
sections/opensourcePromo/index.html | 8 ++---
showcase/index.html | 8 ++---
sitemap.xml | 5 ++++
team/index.html | 8 ++---
zh/404.html | 8 ++---
.../index.html | 8 ++---
.../index.html | 12 ++++----
.../Apache-APISIX-Incubator-Journey/index.html | 8 ++---
.../Apache-APISIX-Kubernetes-Ingress/index.html | 8 ++---
.../Apache-APISIX-in-China-Mobile-Cloud/index.html | 12 ++++----
.../index.html | 8 ++---
.../index.html | 8 ++---
.../index.html | 8 ++---
.../Speed-Limiting-With-Apache-APISIX/index.html | 8 ++---
.../index.html | 8 ++---
zh/articles/The-Appeal-of-OpenSource/index.html | 8 ++---
.../The-Evolution-of-Apache-APISIX/index.html | 8 ++---
.../index.html | 8 ++---
zh/articles/archive/index.html | 8 ++---
zh/articles/atom.xml | 6 ++--
zh/articles/index.html | 10 +++----
zh/articles/page/2/index.html | 8 ++---
zh/articles/rss.xml | 6 ++--
zh/assets/js/01112930.8657cc3c.js | 1 -
zh/assets/js/01112930.c818d933.js | 1 +
zh/assets/js/01632500.3f0217e4.js | 1 +
zh/assets/js/01632500.7cbf8065.js | 1 -
zh/assets/js/01640327.86ea4d36.js | 1 +
zh/assets/js/01640327.9debd762.js | 1 -
zh/assets/js/03b491a1.d730df82.js | 1 +
zh/assets/js/03b491a1.eccf3799.js | 1 -
zh/assets/js/09b17eb5.d7d4b19d.js | 1 -
zh/assets/js/09b17eb5.fc9d201a.js | 1 +
zh/assets/js/0cf164a2.847baf38.js | 1 -
zh/assets/js/0cf164a2.dc718661.js | 1 +
zh/assets/js/19945770.1cc3e8a1.js | 1 -
zh/assets/js/19945770.3a347a7e.js | 1 +
zh/assets/js/1cc91dde.c4ea4c00.js | 1 +
zh/assets/js/26d00f1b.058c82b8.js | 1 -
zh/assets/js/26d00f1b.dbf8318d.js | 1 +
zh/assets/js/3393d167.44ea9d5c.js | 1 +
zh/assets/js/3393d167.8549143b.js | 1 -
zh/assets/js/358566b4.764d70f6.js | 1 -
zh/assets/js/358566b4.f70a69b2.js | 1 +
zh/assets/js/3a332aed.8a59dd68.js | 1 +
zh/assets/js/3a332aed.e403f5a1.js | 1 -
zh/assets/js/3dc9f306.3788f40e.js | 1 -
zh/assets/js/3dc9f306.b52a3898.js | 1 +
zh/assets/js/3ea15b7a.8691557a.js | 1 +
zh/assets/js/3ea15b7a.b4ef94b4.js | 1 -
zh/assets/js/40fb2fae.df1e80be.js | 1 +
zh/assets/js/40fb2fae.e2153a02.js | 1 -
zh/assets/js/4c20006b.2f05f600.js | 1 -
zh/assets/js/4c20006b.a7d2c37e.js | 1 +
zh/assets/js/4f9f5708.5f9610b8.js | 1 -
zh/assets/js/4f9f5708.cd632044.js | 1 +
zh/assets/js/50facf8e.24e0e6ab.js | 1 +
zh/assets/js/50facf8e.3201254d.js | 1 -
zh/assets/js/542fd41f.1b3f270a.js | 1 -
zh/assets/js/542fd41f.e3a0fab5.js | 1 +
zh/assets/js/5b0fa993.0f75a723.js | 1 +
zh/assets/js/5b0fa993.49c106aa.js | 1 -
zh/assets/js/601c6eaa.5e1e5e15.js | 1 +
zh/assets/js/601c6eaa.f7a69390.js | 1 -
zh/assets/js/6192341a.51b6a88b.js | 1 -
zh/assets/js/6192341a.60b68e39.js | 1 +
zh/assets/js/66fbb9c2.12224a7d.js | 1 -
zh/assets/js/66fbb9c2.236738a5.js | 1 +
zh/assets/js/77b5e1de.1cf19d0f.js | 1 -
zh/assets/js/77b5e1de.3ef74b82.js | 1 +
zh/assets/js/7af3052c.057adf06.js | 1 +
zh/assets/js/7af3052c.b036c3a9.js | 1 -
zh/assets/js/80791de8.358fe72f.js | 1 -
zh/assets/js/80791de8.9d225941.js | 1 +
zh/assets/js/814f3328.dc51cd58.js | 1 -
zh/assets/js/814f3328.e6d5580f.js | 1 +
zh/assets/js/8e784bf3.b0073cf8.js | 1 +
zh/assets/js/8e784bf3.b37ffbfd.js | 1 -
zh/assets/js/8f700fa6.2ee9843a.js | 1 -
zh/assets/js/8f700fa6.52bb0c1c.js | 1 +
zh/assets/js/90fc8a94.00f96e68.js | 1 -
zh/assets/js/90fc8a94.56a40837.js | 1 +
zh/assets/js/927d70e2.275a28e9.js | 1 -
zh/assets/js/927d70e2.fa852025.js | 1 +
zh/assets/js/941960b1.0a401d78.js | 1 -
zh/assets/js/941960b1.8342bc3e.js | 1 +
zh/assets/js/95058e22.3db2be7e.js | 1 -
zh/assets/js/95058e22.e8e32fb8.js | 1 +
zh/assets/js/adbb350b.14d6d4fe.js | 1 -
zh/assets/js/adbb350b.4395d2ff.js | 1 +
zh/assets/js/b6140abb.20fe58a2.js | 1 +
zh/assets/js/b6140abb.b5e474b5.js | 1 -
zh/assets/js/bfb16af5.160a8333.js | 1 +
zh/assets/js/bfb16af5.478df6e6.js | 1 -
zh/assets/js/d14629a4.29678066.js | 1 +
zh/assets/js/d14629a4.d3b23fae.js | 1 -
zh/assets/js/d18db9b0.b45cf6c2.js | 1 +
zh/assets/js/d18db9b0.ea547312.js | 1 -
zh/assets/js/f8686e54.2d000455.js | 1 -
zh/assets/js/f8686e54.f530eb8f.js | 1 +
zh/assets/js/faf9b0e3.bdf149e8.js | 1 +
zh/assets/js/fbc846d0.76bf2d1e.js | 1 -
zh/assets/js/fbc846d0.ef05c42a.js | 1 +
zh/assets/js/main.3d0d5e50.js | 2 ++
.../assets/js/main.3d0d5e50.js.LICENSE.txt | 0
zh/assets/js/main.5e794a40.js | 2 --
zh/assets/js/runtime~main.290a73ac.js | 1 -
zh/assets/js/runtime~main.96d5d87d.js | 1 +
.../index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
.../21/run-ingress-apisix-on-amazon-eks/index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
zh/blog/2021/05/24/Tencent-Games/index.html | 10 +++----
.../05/25/Apache APISIX 2.6.0-Release/index.html | 10 +++----
.../index.html | 10 +++----
zh/blog/2021/06/06/apisix-two-years/index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
.../06/28/why-we-need-Apache-APISIX/index.html | 10 +++----
.../06/29/release-apache-apisix-2.7/index.html | 10 +++----
.../etcd3-support-HTTP-access-perfectly/index.html | 10 +++----
.../07/06/celebrate-200-contributors/index.html | 10 +++----
.../index.html | 10 +++----
.../2021/07/21/Apache-APISIX-Kubernetes/index.html | 10 +++----
zh/blog/2021/07/25/apachecon-asia/index.html | 10 +++----
.../index.html | 10 +++----
.../07/28/release-apache-apisix-2.8/index.html | 10 +++----
zh/blog/2021/08/05/Kong-to-APISIX/index.html | 10 +++----
.../index.html | 10 +++----
.../Apache-APISIX-in-China-Mobile-Cloud/index.html | 10 +++----
.../08/09/Apache-APISIX-in-Quliankeji/index.html | 10 +++----
zh/blog/2021/08/10/apisix-nginx/index.html | 10 +++----
.../2021/08/11/interview-TuZhengsong/index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
zh/blog/2021/08/17/interview-airwallex/index.html | 10 +++----
.../Auth-with-Casbin-in-Apache-APISIX/index.html | 10 +++----
.../08/19/go-makes-Apache-APISIX-better/index.html | 10 +++----
zh/blog/2021/08/19/weekly-report/index.html | 10 +++----
zh/blog/2021/08/21/shanghai-meetup/index.html | 10 +++----
zh/blog/2021/08/23/ApacheCon-Asia-2021/index.html | 10 +++----
zh/blog/2021/08/23/weekly-report/index.html | 10 +++----
.../2021/08/24/shanghai-meetup-recap/index.html | 10 +++----
.../Auth-with-Casbin-in-Apache-APISIX/index.html | 10 +++----
.../index.html | 10 +++----
.../index.html | 10 +++----
.../08/27/release-apache-apisix-2.9/index.html | 10 +++----
zh/blog/2021/08/30/Ingress-Meeting/index.html | 10 +++----
zh/blog/2021/08/30/weekly-report/index.html | 10 +++----
.../index.html" | 10 +++----
.../index.html | 10 +++----
.../2021/09/07/how-to-use-apisix-auth/index.html | 10 +++----
zh/blog/2021/09/07/iQIYI-usercase/index.html | 10 +++----
.../index.html | 10 +++----
.../09/13/china-mobile-cloud-usercase/index.html | 10 +++----
zh/blog/2021/09/14/youzan/index.html | 10 +++----
zh/blog/2021/09/15/weekly-report/index.html | 10 +++----
zh/blog/2021/09/16/tencent-cloud/index.html | 10 +++----
zh/blog/2021/09/18/xiaodian-usercase/index.html | 10 +++----
zh/blog/2021/09/24/youpaicloud-usercase/index.html | 10 +++----
zh/blog/2021/09/28/WPS-usercase/index.html | 10 +++----
.../09/29/release-apache-apisix-2.10/index.html | 10 +++----
zh/blog/2021/09/30/weekly-report/index.html | 10 +++----
zh/blog/2021/10/01/openEuler/index.html | 10 +++----
.../2021/10/09/apisix-ingress-techblog/index.html | 10 +++----
.../index.html | 10 +++----
zh/blog/2021/10/14/weekly-report-1014/index.html | 10 +++----
zh/blog/2021/10/18/meetup/index.html | 10 +++----
.../2021/10/22/cert-manager-in-ingress/index.html | 10 +++----
zh/blog/2021/10/26/APISIX-Ingress/index.html | 10 +++----
zh/blog/2021/10/29/Extension-guide/index.html | 10 +++----
zh/blog/2021/11/02/weekly-report-1031/index.html | 10 +++----
zh/blog/2021/11/03/airwallex-usercase/index.html | 10 +++----
zh/blog/2021/11/04/skywalking/index.html | 10 +++----
zh/blog/2021/11/12/apisix-datadog/index.html | 10 +++----
zh/blog/2021/11/16/weekly-report-1114/index.html | 10 +++----
zh/blog/2021/11/17/dapr-with-apisix/index.html | 10 +++----
zh/blog/2021/11/19/apisix-supports-wasm/index.html | 10 +++----
.../index.html | 10 +++----
.../23/cve-2021-43557-research-report/index.html | 10 +++----
zh/blog/2021/11/23/cve-2021-43557/index.html | 10 +++----
.../apache-apisix-committer-experience/index.html | 10 +++----
.../30/use-apisix-ingress-in-kubesphere/index.html | 12 ++++----
.../01/apisix-supports-azure-functions/index.html | 34 ++++++++++++++++++++++
zh/blog/2021/12/02/weekly-report-1130/index.html | 10 +++----
zh/blog/archive/index.html | 10 +++----
zh/blog/atom.xml | 11 +++++++
zh/blog/index.html | 10 +++----
zh/blog/page/2/index.html | 10 +++----
zh/blog/page/3/index.html | 12 ++++----
zh/blog/page/4/index.html | 10 +++----
zh/blog/page/5/index.html | 10 +++----
zh/blog/page/6/index.html | 10 +++----
zh/blog/page/7/index.html | 10 +++----
zh/blog/page/8/index.html | 10 +++----
zh/blog/page/9/index.html | 10 +++----
zh/blog/rss.xml | 7 +++++
zh/blog/tags/community/index.html | 10 +++----
zh/blog/tags/events/index.html | 10 +++----
zh/blog/tags/index.html | 10 +++----
zh/blog/tags/interview/index.html | 10 +++----
zh/blog/tags/practical-case/index.html | 10 +++----
zh/blog/tags/release/index.html | 10 +++----
zh/blog/tags/security/index.html | 10 +++----
zh/blog/tags/technology/index.html | 10 +++----
zh/blog/tags/user-case/index.html | 10 +++----
zh/contribute/ContributeCard/index.html | 8 ++---
zh/contribute/index.html | 8 ++---
zh/docs/apisix/2.10/FAQ/index.html | 8 ++---
zh/docs/apisix/2.10/IGNORE_DOC/index.html | 8 ++---
zh/docs/apisix/2.10/admin-api/index.html | 8 ++---
.../2.10/architecture-design/apisix/index.html | 8 ++---
.../2.10/architecture-design/consumer/index.html | 8 ++---
.../2.10/architecture-design/debug-mode/index.html | 8 ++---
.../architecture-design/global-rule/index.html | 8 ++---
zh/docs/apisix/2.10/architecture-design/index.html | 8 ++---
.../architecture-design/plugin-config/index.html | 8 ++---
.../2.10/architecture-design/plugin/index.html | 8 ++---
.../2.10/architecture-design/route/index.html | 8 ++---
.../2.10/architecture-design/router/index.html | 8 ++---
.../2.10/architecture-design/script/index.html | 8 ++---
.../2.10/architecture-design/service/index.html | 8 ++---
.../2.10/architecture-design/upstream/index.html | 8 ++---
zh/docs/apisix/2.10/aws/index.html | 8 ++---
zh/docs/apisix/2.10/batch-processor/index.html | 8 ++---
zh/docs/apisix/2.10/benchmark/index.html | 8 ++---
zh/docs/apisix/2.10/certificate/index.html | 8 ++---
zh/docs/apisix/2.10/control-api/index.html | 8 ++---
.../2.10/customize-nginx-configuration/index.html | 8 ++---
zh/docs/apisix/2.10/debug-function/index.html | 8 ++---
zh/docs/apisix/2.10/discovery/consul_kv/index.html | 8 ++---
zh/docs/apisix/2.10/discovery/dns/index.html | 8 ++---
zh/docs/apisix/2.10/discovery/eureka/index.html | 8 ++---
zh/docs/apisix/2.10/discovery/index.html | 8 ++---
zh/docs/apisix/2.10/discovery/nacos/index.html | 8 ++---
zh/docs/apisix/2.10/dns/index.html | 8 ++---
.../index.html | 8 ++---
zh/docs/apisix/2.10/external-plugin/index.html | 8 ++---
zh/docs/apisix/2.10/getting-started/index.html | 8 ++---
zh/docs/apisix/2.10/grpc-proxy/index.html | 8 ++---
zh/docs/apisix/2.10/health-check/index.html | 8 ++---
zh/docs/apisix/2.10/how-to-build/index.html | 8 ++---
zh/docs/apisix/2.10/https/index.html | 8 ++---
.../apisix/2.10/install-dependencies/index.html | 8 ++---
.../2.10/internal/testing-framework/index.html | 8 ++---
zh/docs/apisix/2.10/mtls/index.html | 8 ++---
zh/docs/apisix/2.10/plugin-develop/index.html | 8 ++---
zh/docs/apisix/2.10/plugin-interceptors/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/api-breaker/index.html | 8 ++---
.../apisix/2.10/plugins/authz-casbin/index.html | 8 ++---
.../apisix/2.10/plugins/authz-keycloak/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/basic-auth/index.html | 8 ++---
.../apisix/2.10/plugins/batch-requests/index.html | 8 ++---
.../apisix/2.10/plugins/client-control/index.html | 8 ++---
.../2.10/plugins/consumer-restriction/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/cors/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/dubbo-proxy/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/echo/index.html | 8 ++---
.../2.10/plugins/error-log-logger/index.html | 8 ++---
.../2.10/plugins/ext-plugin-post-req/index.html | 8 ++---
.../2.10/plugins/ext-plugin-pre-req/index.html | 8 ++---
.../apisix/2.10/plugins/fault-injection/index.html | 8 ++---
.../apisix/2.10/plugins/grpc-transcode/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/gzip/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/hmac-auth/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/http-logger/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/index.html | 8 ++---
.../apisix/2.10/plugins/ip-restriction/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/jwt-auth/index.html | 8 ++---
.../apisix/2.10/plugins/kafka-logger/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/key-auth/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/limit-conn/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/limit-count/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/limit-req/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/log-rotate/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/mqtt-proxy/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/node-status/index.html | 8 ++---
.../apisix/2.10/plugins/openid-connect/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/prometheus/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/proxy-cache/index.html | 8 ++---
.../apisix/2.10/plugins/proxy-mirror/index.html | 8 ++---
.../apisix/2.10/plugins/proxy-rewrite/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/real-ip/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/redirect/index.html | 8 ++---
.../2.10/plugins/referer-restriction/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/request-id/index.html | 8 ++---
.../2.10/plugins/request-validation/index.html | 8 ++---
.../2.10/plugins/response-rewrite/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/server-info/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/serverless/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/skywalking/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/sls-logger/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/syslog/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/tcp-logger/index.html | 8 ++---
.../apisix/2.10/plugins/traffic-split/index.html | 8 ++---
.../apisix/2.10/plugins/ua-restriction/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/udp-logger/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/uri-blocker/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/wolf-rbac/index.html | 8 ++---
zh/docs/apisix/2.10/plugins/zipkin/index.html | 8 ++---
zh/docs/apisix/2.10/powered-by/index.html | 8 ++---
zh/docs/apisix/2.10/profile/index.html | 8 ++---
zh/docs/apisix/2.10/router-radixtree/index.html | 8 ++---
zh/docs/apisix/2.10/stand-alone/index.html | 8 ++---
zh/docs/apisix/2.10/stream-proxy/index.html | 8 ++---
zh/docs/apisix/2.10/tags/index.html | 8 ++---
zh/docs/apisix/2.4/FAQ/index.html | 8 ++---
zh/docs/apisix/2.4/IGNORE_DOC/index.html | 8 ++---
zh/docs/apisix/2.4/admin-api/index.html | 8 ++---
zh/docs/apisix/2.4/architecture-design/index.html | 8 ++---
zh/docs/apisix/2.4/aws/index.html | 8 ++---
zh/docs/apisix/2.4/batch-processor/index.html | 8 ++---
zh/docs/apisix/2.4/benchmark/index.html | 8 ++---
zh/docs/apisix/2.4/control-api/index.html | 8 ++---
.../2.4/customize-nginx-configuration/index.html | 8 ++---
zh/docs/apisix/2.4/debug-function/index.html | 8 ++---
zh/docs/apisix/2.4/discovery/consul_kv/index.html | 8 ++---
zh/docs/apisix/2.4/discovery/index.html | 8 ++---
zh/docs/apisix/2.4/dns/index.html | 8 ++---
.../index.html | 8 ++---
zh/docs/apisix/2.4/getting-started/index.html | 8 ++---
zh/docs/apisix/2.4/grpc-proxy/index.html | 8 ++---
zh/docs/apisix/2.4/health-check/index.html | 8 ++---
zh/docs/apisix/2.4/how-to-build/index.html | 8 ++---
zh/docs/apisix/2.4/https/index.html | 8 ++---
zh/docs/apisix/2.4/install-dependencies/index.html | 8 ++---
zh/docs/apisix/2.4/mtls/index.html | 8 ++---
zh/docs/apisix/2.4/plugin-develop/index.html | 8 ++---
zh/docs/apisix/2.4/plugin-interceptors/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/api-breaker/index.html | 8 ++---
.../apisix/2.4/plugins/authz-keycloak/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/basic-auth/index.html | 8 ++---
.../apisix/2.4/plugins/batch-requests/index.html | 8 ++---
.../2.4/plugins/consumer-restriction/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/cors/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/dubbo-proxy/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/echo/index.html | 8 ++---
.../apisix/2.4/plugins/error-log-logger/index.html | 8 ++---
.../apisix/2.4/plugins/fault-injection/index.html | 8 ++---
.../apisix/2.4/plugins/grpc-transcode/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/hmac-auth/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/http-logger/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/index.html | 8 ++---
.../apisix/2.4/plugins/ip-restriction/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/jwt-auth/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/kafka-logger/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/key-auth/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/limit-conn/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/limit-count/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/limit-req/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/log-rotate/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/mqtt-proxy/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/node-status/index.html | 8 ++---
.../apisix/2.4/plugins/openid-connect/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/prometheus/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/proxy-cache/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/proxy-mirror/index.html | 8 ++---
.../apisix/2.4/plugins/proxy-rewrite/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/redirect/index.html | 8 ++---
.../2.4/plugins/referer-restriction/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/request-id/index.html | 8 ++---
.../2.4/plugins/request-validation/index.html | 8 ++---
.../apisix/2.4/plugins/response-rewrite/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/server-info/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/serverless/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/skywalking/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/sls-logger/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/syslog/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/tcp-logger/index.html | 8 ++---
.../apisix/2.4/plugins/traffic-split/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/udp-logger/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/uri-blocker/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/wolf-rbac/index.html | 8 ++---
zh/docs/apisix/2.4/plugins/zipkin/index.html | 8 ++---
zh/docs/apisix/2.4/powered-by/index.html | 8 ++---
zh/docs/apisix/2.4/profile/index.html | 8 ++---
zh/docs/apisix/2.4/router-radixtree/index.html | 8 ++---
zh/docs/apisix/2.4/stand-alone/index.html | 8 ++---
zh/docs/apisix/2.4/stream-proxy/index.html | 8 ++---
zh/docs/apisix/2.4/tags/index.html | 8 ++---
zh/docs/apisix/2.5/FAQ/index.html | 8 ++---
zh/docs/apisix/2.5/IGNORE_DOC/index.html | 8 ++---
zh/docs/apisix/2.5/admin-api/index.html | 8 ++---
.../2.5/architecture-design/apisix/index.html | 8 ++---
.../2.5/architecture-design/consumer/index.html | 8 ++---
.../2.5/architecture-design/debug-mode/index.html | 8 ++---
.../2.5/architecture-design/global-rule/index.html | 8 ++---
zh/docs/apisix/2.5/architecture-design/index.html | 8 ++---
.../architecture-design/plugin-config/index.html | 8 ++---
.../2.5/architecture-design/plugin/index.html | 8 ++---
.../2.5/architecture-design/route/index.html | 8 ++---
.../2.5/architecture-design/router/index.html | 8 ++---
.../2.5/architecture-design/script/index.html | 8 ++---
.../2.5/architecture-design/service/index.html | 8 ++---
.../2.5/architecture-design/upstream/index.html | 8 ++---
zh/docs/apisix/2.5/aws/index.html | 8 ++---
zh/docs/apisix/2.5/batch-processor/index.html | 8 ++---
zh/docs/apisix/2.5/benchmark/index.html | 8 ++---
zh/docs/apisix/2.5/control-api/index.html | 8 ++---
.../2.5/customize-nginx-configuration/index.html | 8 ++---
zh/docs/apisix/2.5/debug-function/index.html | 8 ++---
zh/docs/apisix/2.5/discovery/consul_kv/index.html | 8 ++---
zh/docs/apisix/2.5/discovery/dns/index.html | 8 ++---
zh/docs/apisix/2.5/discovery/index.html | 8 ++---
zh/docs/apisix/2.5/dns/index.html | 8 ++---
.../index.html | 8 ++---
zh/docs/apisix/2.5/getting-started/index.html | 8 ++---
zh/docs/apisix/2.5/grpc-proxy/index.html | 8 ++---
zh/docs/apisix/2.5/health-check/index.html | 8 ++---
zh/docs/apisix/2.5/how-to-build/index.html | 8 ++---
zh/docs/apisix/2.5/https/index.html | 8 ++---
zh/docs/apisix/2.5/install-dependencies/index.html | 8 ++---
zh/docs/apisix/2.5/mtls/index.html | 8 ++---
zh/docs/apisix/2.5/plugin-develop/index.html | 8 ++---
zh/docs/apisix/2.5/plugin-interceptors/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/api-breaker/index.html | 8 ++---
.../apisix/2.5/plugins/authz-keycloak/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/basic-auth/index.html | 8 ++---
.../apisix/2.5/plugins/batch-requests/index.html | 8 ++---
.../2.5/plugins/consumer-restriction/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/cors/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/dubbo-proxy/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/echo/index.html | 8 ++---
.../apisix/2.5/plugins/error-log-logger/index.html | 8 ++---
.../apisix/2.5/plugins/fault-injection/index.html | 8 ++---
.../apisix/2.5/plugins/grpc-transcode/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/hmac-auth/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/http-logger/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/index.html | 8 ++---
.../apisix/2.5/plugins/ip-restriction/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/jwt-auth/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/kafka-logger/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/key-auth/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/limit-conn/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/limit-count/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/limit-req/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/log-rotate/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/mqtt-proxy/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/node-status/index.html | 8 ++---
.../apisix/2.5/plugins/openid-connect/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/prometheus/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/proxy-cache/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/proxy-mirror/index.html | 8 ++---
.../apisix/2.5/plugins/proxy-rewrite/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/redirect/index.html | 8 ++---
.../2.5/plugins/referer-restriction/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/request-id/index.html | 8 ++---
.../2.5/plugins/request-validation/index.html | 8 ++---
.../apisix/2.5/plugins/response-rewrite/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/server-info/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/serverless/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/skywalking/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/sls-logger/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/syslog/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/tcp-logger/index.html | 8 ++---
.../apisix/2.5/plugins/traffic-split/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/udp-logger/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/uri-blocker/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/wolf-rbac/index.html | 8 ++---
zh/docs/apisix/2.5/plugins/zipkin/index.html | 8 ++---
zh/docs/apisix/2.5/powered-by/index.html | 8 ++---
zh/docs/apisix/2.5/profile/index.html | 8 ++---
zh/docs/apisix/2.5/router-radixtree/index.html | 8 ++---
zh/docs/apisix/2.5/stand-alone/index.html | 8 ++---
zh/docs/apisix/2.5/stream-proxy/index.html | 8 ++---
zh/docs/apisix/2.5/tags/index.html | 8 ++---
zh/docs/apisix/2.6/FAQ/index.html | 8 ++---
zh/docs/apisix/2.6/IGNORE_DOC/index.html | 8 ++---
zh/docs/apisix/2.6/admin-api/index.html | 8 ++---
.../2.6/architecture-design/apisix/index.html | 8 ++---
.../2.6/architecture-design/consumer/index.html | 8 ++---
.../2.6/architecture-design/debug-mode/index.html | 8 ++---
.../2.6/architecture-design/global-rule/index.html | 8 ++---
zh/docs/apisix/2.6/architecture-design/index.html | 8 ++---
.../architecture-design/plugin-config/index.html | 8 ++---
.../2.6/architecture-design/plugin/index.html | 8 ++---
.../2.6/architecture-design/route/index.html | 8 ++---
.../2.6/architecture-design/router/index.html | 8 ++---
.../2.6/architecture-design/script/index.html | 8 ++---
.../2.6/architecture-design/service/index.html | 8 ++---
.../2.6/architecture-design/upstream/index.html | 8 ++---
zh/docs/apisix/2.6/aws/index.html | 8 ++---
zh/docs/apisix/2.6/batch-processor/index.html | 8 ++---
zh/docs/apisix/2.6/benchmark/index.html | 8 ++---
zh/docs/apisix/2.6/control-api/index.html | 8 ++---
.../2.6/customize-nginx-configuration/index.html | 8 ++---
zh/docs/apisix/2.6/debug-function/index.html | 8 ++---
zh/docs/apisix/2.6/discovery/consul_kv/index.html | 8 ++---
zh/docs/apisix/2.6/discovery/dns/index.html | 8 ++---
zh/docs/apisix/2.6/discovery/eureka/index.html | 8 ++---
zh/docs/apisix/2.6/discovery/index.html | 8 ++---
zh/docs/apisix/2.6/discovery/nacos/index.html | 8 ++---
zh/docs/apisix/2.6/dns/index.html | 8 ++---
.../index.html | 8 ++---
zh/docs/apisix/2.6/getting-started/index.html | 8 ++---
zh/docs/apisix/2.6/grpc-proxy/index.html | 8 ++---
zh/docs/apisix/2.6/health-check/index.html | 8 ++---
zh/docs/apisix/2.6/how-to-build/index.html | 8 ++---
zh/docs/apisix/2.6/https/index.html | 8 ++---
zh/docs/apisix/2.6/install-dependencies/index.html | 8 ++---
zh/docs/apisix/2.6/mtls/index.html | 8 ++---
zh/docs/apisix/2.6/plugin-develop/index.html | 8 ++---
zh/docs/apisix/2.6/plugin-interceptors/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/api-breaker/index.html | 8 ++---
.../apisix/2.6/plugins/authz-keycloak/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/basic-auth/index.html | 8 ++---
.../apisix/2.6/plugins/batch-requests/index.html | 8 ++---
.../2.6/plugins/consumer-restriction/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/cors/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/dubbo-proxy/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/echo/index.html | 8 ++---
.../apisix/2.6/plugins/error-log-logger/index.html | 8 ++---
.../apisix/2.6/plugins/fault-injection/index.html | 8 ++---
.../apisix/2.6/plugins/grpc-transcode/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/hmac-auth/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/http-logger/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/index.html | 8 ++---
.../apisix/2.6/plugins/ip-restriction/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/jwt-auth/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/kafka-logger/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/key-auth/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/limit-conn/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/limit-count/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/limit-req/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/log-rotate/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/mqtt-proxy/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/node-status/index.html | 8 ++---
.../apisix/2.6/plugins/openid-connect/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/prometheus/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/proxy-cache/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/proxy-mirror/index.html | 8 ++---
.../apisix/2.6/plugins/proxy-rewrite/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/redirect/index.html | 8 ++---
.../2.6/plugins/referer-restriction/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/request-id/index.html | 8 ++---
.../2.6/plugins/request-validation/index.html | 8 ++---
.../apisix/2.6/plugins/response-rewrite/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/server-info/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/serverless/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/skywalking/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/sls-logger/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/syslog/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/tcp-logger/index.html | 8 ++---
.../apisix/2.6/plugins/traffic-split/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/udp-logger/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/uri-blocker/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/wolf-rbac/index.html | 8 ++---
zh/docs/apisix/2.6/plugins/zipkin/index.html | 8 ++---
zh/docs/apisix/2.6/powered-by/index.html | 8 ++---
zh/docs/apisix/2.6/profile/index.html | 8 ++---
zh/docs/apisix/2.6/router-radixtree/index.html | 8 ++---
zh/docs/apisix/2.6/stand-alone/index.html | 8 ++---
zh/docs/apisix/2.6/stream-proxy/index.html | 8 ++---
zh/docs/apisix/2.6/tags/index.html | 8 ++---
zh/docs/apisix/2.7/FAQ/index.html | 8 ++---
zh/docs/apisix/2.7/IGNORE_DOC/index.html | 8 ++---
zh/docs/apisix/2.7/admin-api/index.html | 8 ++---
.../2.7/architecture-design/apisix/index.html | 8 ++---
.../2.7/architecture-design/consumer/index.html | 8 ++---
.../2.7/architecture-design/debug-mode/index.html | 8 ++---
.../2.7/architecture-design/global-rule/index.html | 8 ++---
zh/docs/apisix/2.7/architecture-design/index.html | 8 ++---
.../architecture-design/plugin-config/index.html | 8 ++---
.../2.7/architecture-design/plugin/index.html | 8 ++---
.../2.7/architecture-design/route/index.html | 8 ++---
.../2.7/architecture-design/router/index.html | 8 ++---
.../2.7/architecture-design/script/index.html | 8 ++---
.../2.7/architecture-design/service/index.html | 8 ++---
.../2.7/architecture-design/upstream/index.html | 8 ++---
zh/docs/apisix/2.7/aws/index.html | 8 ++---
zh/docs/apisix/2.7/batch-processor/index.html | 8 ++---
zh/docs/apisix/2.7/benchmark/index.html | 8 ++---
zh/docs/apisix/2.7/certificate/index.html | 8 ++---
zh/docs/apisix/2.7/control-api/index.html | 8 ++---
.../2.7/customize-nginx-configuration/index.html | 8 ++---
zh/docs/apisix/2.7/debug-function/index.html | 8 ++---
zh/docs/apisix/2.7/discovery/consul_kv/index.html | 8 ++---
zh/docs/apisix/2.7/discovery/dns/index.html | 8 ++---
zh/docs/apisix/2.7/discovery/eureka/index.html | 8 ++---
zh/docs/apisix/2.7/discovery/index.html | 8 ++---
zh/docs/apisix/2.7/discovery/nacos/index.html | 8 ++---
zh/docs/apisix/2.7/dns/index.html | 8 ++---
.../index.html | 8 ++---
zh/docs/apisix/2.7/external-plugin/index.html | 8 ++---
zh/docs/apisix/2.7/getting-started/index.html | 8 ++---
zh/docs/apisix/2.7/grpc-proxy/index.html | 8 ++---
zh/docs/apisix/2.7/health-check/index.html | 8 ++---
zh/docs/apisix/2.7/how-to-build/index.html | 8 ++---
zh/docs/apisix/2.7/https/index.html | 8 ++---
zh/docs/apisix/2.7/install-dependencies/index.html | 8 ++---
zh/docs/apisix/2.7/mtls/index.html | 8 ++---
zh/docs/apisix/2.7/plugin-develop/index.html | 8 ++---
zh/docs/apisix/2.7/plugin-interceptors/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/api-breaker/index.html | 8 ++---
.../apisix/2.7/plugins/authz-keycloak/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/basic-auth/index.html | 8 ++---
.../apisix/2.7/plugins/batch-requests/index.html | 8 ++---
.../apisix/2.7/plugins/client-control/index.html | 8 ++---
.../2.7/plugins/consumer-restriction/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/cors/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/dubbo-proxy/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/echo/index.html | 8 ++---
.../apisix/2.7/plugins/error-log-logger/index.html | 8 ++---
.../2.7/plugins/ext-plugin-post-req/index.html | 8 ++---
.../2.7/plugins/ext-plugin-pre-req/index.html | 8 ++---
.../apisix/2.7/plugins/fault-injection/index.html | 8 ++---
.../apisix/2.7/plugins/grpc-transcode/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/hmac-auth/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/http-logger/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/index.html | 8 ++---
.../apisix/2.7/plugins/ip-restriction/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/jwt-auth/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/kafka-logger/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/key-auth/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/limit-conn/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/limit-count/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/limit-req/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/log-rotate/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/mqtt-proxy/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/node-status/index.html | 8 ++---
.../apisix/2.7/plugins/openid-connect/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/prometheus/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/proxy-cache/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/proxy-mirror/index.html | 8 ++---
.../apisix/2.7/plugins/proxy-rewrite/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/redirect/index.html | 8 ++---
.../2.7/plugins/referer-restriction/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/request-id/index.html | 8 ++---
.../2.7/plugins/request-validation/index.html | 8 ++---
.../apisix/2.7/plugins/response-rewrite/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/server-info/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/serverless/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/skywalking/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/sls-logger/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/syslog/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/tcp-logger/index.html | 8 ++---
.../apisix/2.7/plugins/traffic-split/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/udp-logger/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/uri-blocker/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/wolf-rbac/index.html | 8 ++---
zh/docs/apisix/2.7/plugins/zipkin/index.html | 8 ++---
zh/docs/apisix/2.7/powered-by/index.html | 8 ++---
zh/docs/apisix/2.7/profile/index.html | 8 ++---
zh/docs/apisix/2.7/router-radixtree/index.html | 8 ++---
zh/docs/apisix/2.7/stand-alone/index.html | 8 ++---
zh/docs/apisix/2.7/stream-proxy/index.html | 8 ++---
zh/docs/apisix/2.7/tags/index.html | 8 ++---
zh/docs/apisix/2.8/FAQ/index.html | 8 ++---
zh/docs/apisix/2.8/IGNORE_DOC/index.html | 8 ++---
zh/docs/apisix/2.8/admin-api/index.html | 8 ++---
.../2.8/architecture-design/apisix/index.html | 8 ++---
.../2.8/architecture-design/consumer/index.html | 8 ++---
.../2.8/architecture-design/debug-mode/index.html | 8 ++---
.../2.8/architecture-design/global-rule/index.html | 8 ++---
zh/docs/apisix/2.8/architecture-design/index.html | 8 ++---
.../architecture-design/plugin-config/index.html | 8 ++---
.../2.8/architecture-design/plugin/index.html | 8 ++---
.../2.8/architecture-design/route/index.html | 8 ++---
.../2.8/architecture-design/router/index.html | 8 ++---
.../2.8/architecture-design/script/index.html | 8 ++---
.../2.8/architecture-design/service/index.html | 8 ++---
.../2.8/architecture-design/upstream/index.html | 8 ++---
zh/docs/apisix/2.8/aws/index.html | 8 ++---
zh/docs/apisix/2.8/batch-processor/index.html | 8 ++---
zh/docs/apisix/2.8/benchmark/index.html | 8 ++---
zh/docs/apisix/2.8/certificate/index.html | 8 ++---
zh/docs/apisix/2.8/control-api/index.html | 8 ++---
.../2.8/customize-nginx-configuration/index.html | 8 ++---
zh/docs/apisix/2.8/debug-function/index.html | 8 ++---
zh/docs/apisix/2.8/discovery/consul_kv/index.html | 8 ++---
zh/docs/apisix/2.8/discovery/dns/index.html | 8 ++---
zh/docs/apisix/2.8/discovery/eureka/index.html | 8 ++---
zh/docs/apisix/2.8/discovery/index.html | 8 ++---
zh/docs/apisix/2.8/discovery/nacos/index.html | 8 ++---
zh/docs/apisix/2.8/dns/index.html | 8 ++---
.../index.html | 8 ++---
zh/docs/apisix/2.8/external-plugin/index.html | 8 ++---
zh/docs/apisix/2.8/getting-started/index.html | 8 ++---
zh/docs/apisix/2.8/grpc-proxy/index.html | 8 ++---
zh/docs/apisix/2.8/health-check/index.html | 8 ++---
zh/docs/apisix/2.8/how-to-build/index.html | 8 ++---
zh/docs/apisix/2.8/https/index.html | 8 ++---
zh/docs/apisix/2.8/install-dependencies/index.html | 8 ++---
zh/docs/apisix/2.8/mtls/index.html | 8 ++---
zh/docs/apisix/2.8/plugin-develop/index.html | 8 ++---
zh/docs/apisix/2.8/plugin-interceptors/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/api-breaker/index.html | 8 ++---
.../apisix/2.8/plugins/authz-keycloak/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/basic-auth/index.html | 8 ++---
.../apisix/2.8/plugins/batch-requests/index.html | 8 ++---
.../apisix/2.8/plugins/client-control/index.html | 8 ++---
.../2.8/plugins/consumer-restriction/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/cors/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/dubbo-proxy/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/echo/index.html | 8 ++---
.../apisix/2.8/plugins/error-log-logger/index.html | 8 ++---
.../2.8/plugins/ext-plugin-post-req/index.html | 8 ++---
.../2.8/plugins/ext-plugin-pre-req/index.html | 8 ++---
.../apisix/2.8/plugins/fault-injection/index.html | 8 ++---
.../apisix/2.8/plugins/grpc-transcode/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/gzip/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/hmac-auth/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/http-logger/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/index.html | 8 ++---
.../apisix/2.8/plugins/ip-restriction/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/jwt-auth/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/kafka-logger/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/key-auth/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/limit-conn/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/limit-count/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/limit-req/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/log-rotate/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/mqtt-proxy/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/node-status/index.html | 8 ++---
.../apisix/2.8/plugins/openid-connect/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/prometheus/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/proxy-cache/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/proxy-mirror/index.html | 8 ++---
.../apisix/2.8/plugins/proxy-rewrite/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/redirect/index.html | 8 ++---
.../2.8/plugins/referer-restriction/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/request-id/index.html | 8 ++---
.../2.8/plugins/request-validation/index.html | 8 ++---
.../apisix/2.8/plugins/response-rewrite/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/server-info/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/serverless/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/skywalking/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/sls-logger/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/syslog/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/tcp-logger/index.html | 8 ++---
.../apisix/2.8/plugins/traffic-split/index.html | 8 ++---
.../apisix/2.8/plugins/ua-restriction/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/udp-logger/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/uri-blocker/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/wolf-rbac/index.html | 8 ++---
zh/docs/apisix/2.8/plugins/zipkin/index.html | 8 ++---
zh/docs/apisix/2.8/powered-by/index.html | 8 ++---
zh/docs/apisix/2.8/profile/index.html | 8 ++---
zh/docs/apisix/2.8/router-radixtree/index.html | 8 ++---
zh/docs/apisix/2.8/stand-alone/index.html | 8 ++---
zh/docs/apisix/2.8/stream-proxy/index.html | 8 ++---
zh/docs/apisix/2.8/tags/index.html | 8 ++---
zh/docs/apisix/2.9/FAQ/index.html | 8 ++---
zh/docs/apisix/2.9/IGNORE_DOC/index.html | 8 ++---
zh/docs/apisix/2.9/admin-api/index.html | 8 ++---
.../2.9/architecture-design/apisix/index.html | 8 ++---
.../2.9/architecture-design/consumer/index.html | 8 ++---
.../2.9/architecture-design/debug-mode/index.html | 8 ++---
.../2.9/architecture-design/global-rule/index.html | 8 ++---
zh/docs/apisix/2.9/architecture-design/index.html | 8 ++---
.../architecture-design/plugin-config/index.html | 8 ++---
.../2.9/architecture-design/plugin/index.html | 8 ++---
.../2.9/architecture-design/route/index.html | 8 ++---
.../2.9/architecture-design/router/index.html | 8 ++---
.../2.9/architecture-design/script/index.html | 8 ++---
.../2.9/architecture-design/service/index.html | 8 ++---
.../2.9/architecture-design/upstream/index.html | 8 ++---
zh/docs/apisix/2.9/aws/index.html | 8 ++---
zh/docs/apisix/2.9/batch-processor/index.html | 8 ++---
zh/docs/apisix/2.9/benchmark/index.html | 8 ++---
zh/docs/apisix/2.9/certificate/index.html | 8 ++---
zh/docs/apisix/2.9/control-api/index.html | 8 ++---
.../2.9/customize-nginx-configuration/index.html | 8 ++---
zh/docs/apisix/2.9/debug-function/index.html | 8 ++---
zh/docs/apisix/2.9/discovery/consul_kv/index.html | 8 ++---
zh/docs/apisix/2.9/discovery/dns/index.html | 8 ++---
zh/docs/apisix/2.9/discovery/eureka/index.html | 8 ++---
zh/docs/apisix/2.9/discovery/index.html | 8 ++---
zh/docs/apisix/2.9/discovery/nacos/index.html | 8 ++---
zh/docs/apisix/2.9/dns/index.html | 8 ++---
.../index.html | 8 ++---
zh/docs/apisix/2.9/external-plugin/index.html | 8 ++---
zh/docs/apisix/2.9/getting-started/index.html | 8 ++---
zh/docs/apisix/2.9/grpc-proxy/index.html | 8 ++---
zh/docs/apisix/2.9/health-check/index.html | 8 ++---
zh/docs/apisix/2.9/how-to-build/index.html | 8 ++---
zh/docs/apisix/2.9/https/index.html | 8 ++---
zh/docs/apisix/2.9/install-dependencies/index.html | 8 ++---
.../2.9/internal/testing-framework/index.html | 8 ++---
zh/docs/apisix/2.9/mtls/index.html | 8 ++---
zh/docs/apisix/2.9/plugin-develop/index.html | 8 ++---
zh/docs/apisix/2.9/plugin-interceptors/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/api-breaker/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/authz-casbin/index.html | 8 ++---
.../apisix/2.9/plugins/authz-keycloak/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/basic-auth/index.html | 8 ++---
.../apisix/2.9/plugins/batch-requests/index.html | 8 ++---
.../apisix/2.9/plugins/client-control/index.html | 8 ++---
.../2.9/plugins/consumer-restriction/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/cors/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/dubbo-proxy/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/echo/index.html | 8 ++---
.../apisix/2.9/plugins/error-log-logger/index.html | 8 ++---
.../2.9/plugins/ext-plugin-post-req/index.html | 8 ++---
.../2.9/plugins/ext-plugin-pre-req/index.html | 8 ++---
.../apisix/2.9/plugins/fault-injection/index.html | 8 ++---
.../apisix/2.9/plugins/grpc-transcode/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/gzip/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/hmac-auth/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/http-logger/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/index.html | 8 ++---
.../apisix/2.9/plugins/ip-restriction/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/jwt-auth/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/kafka-logger/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/key-auth/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/limit-conn/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/limit-count/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/limit-req/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/log-rotate/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/mqtt-proxy/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/node-status/index.html | 8 ++---
.../apisix/2.9/plugins/openid-connect/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/prometheus/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/proxy-cache/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/proxy-mirror/index.html | 8 ++---
.../apisix/2.9/plugins/proxy-rewrite/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/real-ip/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/redirect/index.html | 8 ++---
.../2.9/plugins/referer-restriction/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/request-id/index.html | 8 ++---
.../2.9/plugins/request-validation/index.html | 8 ++---
.../apisix/2.9/plugins/response-rewrite/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/server-info/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/serverless/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/skywalking/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/sls-logger/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/syslog/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/tcp-logger/index.html | 8 ++---
.../apisix/2.9/plugins/traffic-split/index.html | 8 ++---
.../apisix/2.9/plugins/ua-restriction/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/udp-logger/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/uri-blocker/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/wolf-rbac/index.html | 8 ++---
zh/docs/apisix/2.9/plugins/zipkin/index.html | 8 ++---
zh/docs/apisix/2.9/powered-by/index.html | 8 ++---
zh/docs/apisix/2.9/profile/index.html | 8 ++---
zh/docs/apisix/2.9/router-radixtree/index.html | 8 ++---
zh/docs/apisix/2.9/stand-alone/index.html | 8 ++---
zh/docs/apisix/2.9/stream-proxy/index.html | 8 ++---
zh/docs/apisix/2.9/tags/index.html | 8 ++---
zh/docs/apisix/FAQ/index.html | 8 ++---
zh/docs/apisix/IGNORE_DOC/index.html | 8 ++---
zh/docs/apisix/admin-api/index.html | 8 ++---
.../apisix/architecture-design/apisix/index.html | 8 ++---
.../apisix/architecture-design/consumer/index.html | 8 ++---
.../architecture-design/debug-mode/index.html | 8 ++---
.../architecture-design/global-rule/index.html | 8 ++---
zh/docs/apisix/architecture-design/index.html | 8 ++---
.../architecture-design/plugin-config/index.html | 8 ++---
.../apisix/architecture-design/plugin/index.html | 8 ++---
.../apisix/architecture-design/route/index.html | 8 ++---
.../apisix/architecture-design/router/index.html | 8 ++---
.../apisix/architecture-design/script/index.html | 8 ++---
.../apisix/architecture-design/service/index.html | 8 ++---
.../apisix/architecture-design/upstream/index.html | 8 ++---
zh/docs/apisix/aws/index.html | 8 ++---
zh/docs/apisix/batch-processor/index.html | 8 ++---
zh/docs/apisix/benchmark/index.html | 8 ++---
zh/docs/apisix/certificate/index.html | 8 ++---
zh/docs/apisix/control-api/index.html | 8 ++---
.../customize-nginx-configuration/index.html | 8 ++---
zh/docs/apisix/debug-function/index.html | 8 ++---
zh/docs/apisix/discovery/consul_kv/index.html | 8 ++---
zh/docs/apisix/discovery/dns/index.html | 8 ++---
zh/docs/apisix/discovery/eureka/index.html | 8 ++---
zh/docs/apisix/discovery/index.html | 8 ++---
zh/docs/apisix/discovery/nacos/index.html | 8 ++---
zh/docs/apisix/dns/index.html | 8 ++---
.../index.html | 8 ++---
zh/docs/apisix/external-plugin/index.html | 8 ++---
zh/docs/apisix/getting-started/index.html | 8 ++---
zh/docs/apisix/grpc-proxy/index.html | 8 ++---
zh/docs/apisix/health-check/index.html | 8 ++---
zh/docs/apisix/how-to-build/index.html | 8 ++---
zh/docs/apisix/https/index.html | 8 ++---
zh/docs/apisix/install-dependencies/index.html | 8 ++---
.../apisix/internal/testing-framework/index.html | 8 ++---
zh/docs/apisix/mtls/index.html | 8 ++---
zh/docs/apisix/next/FAQ/index.html | 8 ++---
zh/docs/apisix/next/IGNORE_DOC/index.html | 10 +++----
zh/docs/apisix/next/admin-api/index.html | 8 ++---
.../next/architecture-design/apisix/index.html | 8 ++---
.../next/architecture-design/consumer/index.html | 8 ++---
.../next/architecture-design/debug-mode/index.html | 8 ++---
.../architecture-design/global-rule/index.html | 8 ++---
zh/docs/apisix/next/architecture-design/index.html | 8 ++---
.../architecture-design/plugin-config/index.html | 8 ++---
.../next/architecture-design/plugin/index.html | 8 ++---
.../next/architecture-design/route/index.html | 8 ++---
.../next/architecture-design/router/index.html | 8 ++---
.../next/architecture-design/script/index.html | 8 ++---
.../next/architecture-design/service/index.html | 8 ++---
.../next/architecture-design/upstream/index.html | 8 ++---
zh/docs/apisix/next/aws/index.html | 8 ++---
zh/docs/apisix/next/batch-processor/index.html | 8 ++---
zh/docs/apisix/next/benchmark/index.html | 8 ++---
zh/docs/apisix/next/certificate/index.html | 8 ++---
zh/docs/apisix/next/control-api/index.html | 8 ++---
.../next/customize-nginx-configuration/index.html | 8 ++---
zh/docs/apisix/next/debug-function/index.html | 8 ++---
zh/docs/apisix/next/discovery/consul_kv/index.html | 8 ++---
zh/docs/apisix/next/discovery/dns/index.html | 8 ++---
zh/docs/apisix/next/discovery/eureka/index.html | 8 ++---
zh/docs/apisix/next/discovery/index.html | 8 ++---
zh/docs/apisix/next/discovery/nacos/index.html | 8 ++---
zh/docs/apisix/next/dns/index.html | 8 ++---
.../index.html | 8 ++---
zh/docs/apisix/next/external-plugin/index.html | 8 ++---
zh/docs/apisix/next/getting-started/index.html | 8 ++---
zh/docs/apisix/next/grpc-proxy/index.html | 8 ++---
zh/docs/apisix/next/health-check/index.html | 8 ++---
zh/docs/apisix/next/how-to-build/index.html | 8 ++---
zh/docs/apisix/next/https/index.html | 8 ++---
.../apisix/next/install-dependencies/index.html | 8 ++---
.../next/internal/testing-framework/index.html | 8 ++---
zh/docs/apisix/next/mtls/index.html | 8 ++---
zh/docs/apisix/next/plugin-develop/index.html | 8 ++---
zh/docs/apisix/next/plugin-interceptors/index.html | 8 ++---
zh/docs/apisix/next/plugins/api-breaker/index.html | 8 ++---
.../apisix/next/plugins/authz-casbin/index.html | 8 ++---
.../apisix/next/plugins/authz-keycloak/index.html | 8 ++---
zh/docs/apisix/next/plugins/aws-lambda/index.html | 8 ++---
.../apisix/next/plugins/azure-functions/index.html | 8 ++---
zh/docs/apisix/next/plugins/basic-auth/index.html | 8 ++---
.../apisix/next/plugins/batch-requests/index.html | 8 ++---
.../apisix/next/plugins/client-control/index.html | 8 ++---
.../next/plugins/consumer-restriction/index.html | 8 ++---
zh/docs/apisix/next/plugins/cors/index.html | 8 ++---
zh/docs/apisix/next/plugins/datadog/index.html | 8 ++---
zh/docs/apisix/next/plugins/dubbo-proxy/index.html | 8 ++---
zh/docs/apisix/next/plugins/echo/index.html | 8 ++---
.../next/plugins/error-log-logger/index.html | 8 ++---
.../next/plugins/ext-plugin-post-req/index.html | 8 ++---
.../next/plugins/ext-plugin-pre-req/index.html | 8 ++---
.../apisix/next/plugins/fault-injection/index.html | 8 ++---
.../next/plugins/google-cloud-logging/index.html | 8 ++---
.../apisix/next/plugins/grpc-transcode/index.html | 8 ++---
zh/docs/apisix/next/plugins/gzip/index.html | 8 ++---
zh/docs/apisix/next/plugins/hmac-auth/index.html | 8 ++---
zh/docs/apisix/next/plugins/http-logger/index.html | 8 ++---
zh/docs/apisix/next/plugins/index.html | 8 ++---
.../apisix/next/plugins/ip-restriction/index.html | 8 ++---
zh/docs/apisix/next/plugins/jwt-auth/index.html | 8 ++---
.../apisix/next/plugins/kafka-logger/index.html | 8 ++---
zh/docs/apisix/next/plugins/key-auth/index.html | 8 ++---
zh/docs/apisix/next/plugins/ldap-auth/index.html | 8 ++---
zh/docs/apisix/next/plugins/limit-conn/index.html | 8 ++---
zh/docs/apisix/next/plugins/limit-count/index.html | 8 ++---
zh/docs/apisix/next/plugins/limit-req/index.html | 8 ++---
zh/docs/apisix/next/plugins/log-rotate/index.html | 8 ++---
zh/docs/apisix/next/plugins/mqtt-proxy/index.html | 8 ++---
zh/docs/apisix/next/plugins/node-status/index.html | 8 ++---
.../apisix/next/plugins/openid-connect/index.html | 8 ++---
zh/docs/apisix/next/plugins/openwhisk/index.html | 8 ++---
zh/docs/apisix/next/plugins/prometheus/index.html | 8 ++---
zh/docs/apisix/next/plugins/proxy-cache/index.html | 8 ++---
.../apisix/next/plugins/proxy-mirror/index.html | 8 ++---
.../apisix/next/plugins/proxy-rewrite/index.html | 8 ++---
zh/docs/apisix/next/plugins/real-ip/index.html | 8 ++---
zh/docs/apisix/next/plugins/redirect/index.html | 8 ++---
.../next/plugins/referer-restriction/index.html | 8 ++---
zh/docs/apisix/next/plugins/request-id/index.html | 8 ++---
.../next/plugins/request-validation/index.html | 8 ++---
.../next/plugins/response-rewrite/index.html | 8 ++---
zh/docs/apisix/next/plugins/server-info/index.html | 8 ++---
zh/docs/apisix/next/plugins/serverless/index.html | 8 ++---
.../next/plugins/skywalking-logger/index.html | 8 ++---
zh/docs/apisix/next/plugins/skywalking/index.html | 8 ++---
zh/docs/apisix/next/plugins/sls-logger/index.html | 8 ++---
zh/docs/apisix/next/plugins/syslog/index.html | 8 ++---
zh/docs/apisix/next/plugins/tcp-logger/index.html | 8 ++---
.../apisix/next/plugins/traffic-split/index.html | 8 ++---
.../apisix/next/plugins/ua-restriction/index.html | 8 ++---
zh/docs/apisix/next/plugins/udp-logger/index.html | 8 ++---
zh/docs/apisix/next/plugins/uri-blocker/index.html | 8 ++---
zh/docs/apisix/next/plugins/wolf-rbac/index.html | 8 ++---
zh/docs/apisix/next/plugins/zipkin/index.html | 8 ++---
zh/docs/apisix/next/powered-by/index.html | 8 ++---
zh/docs/apisix/next/profile/index.html | 8 ++---
zh/docs/apisix/next/router-radixtree/index.html | 8 ++---
zh/docs/apisix/next/stand-alone/index.html | 8 ++---
zh/docs/apisix/next/stream-proxy/index.html | 8 ++---
zh/docs/apisix/next/tags/index.html | 8 ++---
zh/docs/apisix/next/wasm/index.html | 8 ++---
zh/docs/apisix/plugin-develop/index.html | 8 ++---
zh/docs/apisix/plugin-interceptors/index.html | 8 ++---
zh/docs/apisix/plugins/api-breaker/index.html | 8 ++---
zh/docs/apisix/plugins/authz-casbin/index.html | 8 ++---
zh/docs/apisix/plugins/authz-keycloak/index.html | 8 ++---
zh/docs/apisix/plugins/azure-functions/index.html | 8 ++---
zh/docs/apisix/plugins/basic-auth/index.html | 8 ++---
zh/docs/apisix/plugins/batch-requests/index.html | 8 ++---
zh/docs/apisix/plugins/client-control/index.html | 8 ++---
.../apisix/plugins/consumer-restriction/index.html | 8 ++---
zh/docs/apisix/plugins/cors/index.html | 8 ++---
zh/docs/apisix/plugins/datadog/index.html | 8 ++---
zh/docs/apisix/plugins/dubbo-proxy/index.html | 8 ++---
zh/docs/apisix/plugins/echo/index.html | 8 ++---
zh/docs/apisix/plugins/error-log-logger/index.html | 8 ++---
.../apisix/plugins/ext-plugin-post-req/index.html | 8 ++---
.../apisix/plugins/ext-plugin-pre-req/index.html | 8 ++---
zh/docs/apisix/plugins/fault-injection/index.html | 8 ++---
zh/docs/apisix/plugins/grpc-transcode/index.html | 8 ++---
zh/docs/apisix/plugins/gzip/index.html | 8 ++---
zh/docs/apisix/plugins/hmac-auth/index.html | 8 ++---
zh/docs/apisix/plugins/http-logger/index.html | 8 ++---
zh/docs/apisix/plugins/index.html | 8 ++---
zh/docs/apisix/plugins/ip-restriction/index.html | 8 ++---
zh/docs/apisix/plugins/jwt-auth/index.html | 8 ++---
zh/docs/apisix/plugins/kafka-logger/index.html | 8 ++---
zh/docs/apisix/plugins/key-auth/index.html | 8 ++---
zh/docs/apisix/plugins/ldap-auth/index.html | 8 ++---
zh/docs/apisix/plugins/limit-conn/index.html | 8 ++---
zh/docs/apisix/plugins/limit-count/index.html | 8 ++---
zh/docs/apisix/plugins/limit-req/index.html | 8 ++---
zh/docs/apisix/plugins/log-rotate/index.html | 8 ++---
zh/docs/apisix/plugins/mqtt-proxy/index.html | 8 ++---
zh/docs/apisix/plugins/node-status/index.html | 8 ++---
zh/docs/apisix/plugins/openid-connect/index.html | 8 ++---
zh/docs/apisix/plugins/prometheus/index.html | 8 ++---
zh/docs/apisix/plugins/proxy-cache/index.html | 8 ++---
zh/docs/apisix/plugins/proxy-mirror/index.html | 8 ++---
zh/docs/apisix/plugins/proxy-rewrite/index.html | 8 ++---
zh/docs/apisix/plugins/real-ip/index.html | 8 ++---
zh/docs/apisix/plugins/redirect/index.html | 8 ++---
.../apisix/plugins/referer-restriction/index.html | 8 ++---
zh/docs/apisix/plugins/request-id/index.html | 8 ++---
.../apisix/plugins/request-validation/index.html | 8 ++---
zh/docs/apisix/plugins/response-rewrite/index.html | 8 ++---
zh/docs/apisix/plugins/server-info/index.html | 8 ++---
zh/docs/apisix/plugins/serverless/index.html | 8 ++---
.../apisix/plugins/skywalking-logger/index.html | 8 ++---
zh/docs/apisix/plugins/skywalking/index.html | 8 ++---
zh/docs/apisix/plugins/sls-logger/index.html | 8 ++---
zh/docs/apisix/plugins/syslog/index.html | 8 ++---
zh/docs/apisix/plugins/tcp-logger/index.html | 8 ++---
zh/docs/apisix/plugins/traffic-split/index.html | 8 ++---
zh/docs/apisix/plugins/ua-restriction/index.html | 8 ++---
zh/docs/apisix/plugins/udp-logger/index.html | 8 ++---
zh/docs/apisix/plugins/uri-blocker/index.html | 8 ++---
zh/docs/apisix/plugins/wolf-rbac/index.html | 8 ++---
zh/docs/apisix/plugins/zipkin/index.html | 8 ++---
zh/docs/apisix/powered-by/index.html | 8 ++---
zh/docs/apisix/profile/index.html | 8 ++---
zh/docs/apisix/router-radixtree/index.html | 8 ++---
zh/docs/apisix/stand-alone/index.html | 8 ++---
zh/docs/apisix/stream-proxy/index.html | 8 ++---
zh/docs/apisix/tags/index.html | 8 ++---
zh/docs/apisix/wasm/index.html | 8 ++---
zh/docs/dashboard/2.5/FAQ/index.html | 8 ++---
zh/docs/dashboard/2.5/I18N_USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/2.5/IGNORE_DOC/index.html | 8 ++---
.../2.5/IMPORT_OPENAPI_USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/2.5/USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/2.5/api/api/index.html | 8 ++---
zh/docs/dashboard/2.5/back-end-tests/index.html | 8 ++---
.../dashboard/2.5/deploy-with-docker/index.html | 8 ++---
zh/docs/dashboard/2.5/deploy-with-rpm/index.html | 8 ++---
zh/docs/dashboard/2.5/deploy/index.html | 8 ++---
zh/docs/dashboard/2.5/develop/index.html | 8 ++---
zh/docs/dashboard/2.5/front-end-e2e/index.html | 8 ++---
zh/docs/dashboard/2.5/tags/index.html | 8 ++---
zh/docs/dashboard/2.6.1/FAQ/index.html | 8 ++---
zh/docs/dashboard/2.6.1/I18N_USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/2.6.1/IGNORE_DOC/index.html | 8 ++---
.../2.6.1/IMPORT_OPENAPI_USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/2.6.1/USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/2.6.1/api/api/index.html | 8 ++---
zh/docs/dashboard/2.6.1/back-end-tests/index.html | 8 ++---
.../dashboard/2.6.1/deploy-with-docker/index.html | 8 ++---
zh/docs/dashboard/2.6.1/deploy-with-rpm/index.html | 8 ++---
zh/docs/dashboard/2.6.1/deploy/index.html | 8 ++---
zh/docs/dashboard/2.6.1/develop/index.html | 8 ++---
zh/docs/dashboard/2.6.1/front-end-e2e/index.html | 8 ++---
zh/docs/dashboard/2.6.1/tags/index.html | 8 ++---
zh/docs/dashboard/2.6/FAQ/index.html | 8 ++---
zh/docs/dashboard/2.6/I18N_USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/2.6/IGNORE_DOC/index.html | 8 ++---
.../2.6/IMPORT_OPENAPI_USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/2.6/USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/2.6/api/api/index.html | 8 ++---
zh/docs/dashboard/2.6/back-end-tests/index.html | 8 ++---
.../dashboard/2.6/deploy-with-docker/index.html | 8 ++---
zh/docs/dashboard/2.6/deploy-with-rpm/index.html | 8 ++---
zh/docs/dashboard/2.6/deploy/index.html | 8 ++---
zh/docs/dashboard/2.6/develop/index.html | 8 ++---
zh/docs/dashboard/2.6/front-end-e2e/index.html | 8 ++---
zh/docs/dashboard/2.6/tags/index.html | 8 ++---
zh/docs/dashboard/2.7.1/FAQ/index.html | 8 ++---
zh/docs/dashboard/2.7.1/I18N_USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/2.7.1/IGNORE_DOC/index.html | 8 ++---
.../2.7.1/IMPORT_OPENAPI_USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/2.7.1/USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/2.7.1/api/api/index.html | 8 ++---
zh/docs/dashboard/2.7.1/back-end-tests/index.html | 8 ++---
.../dashboard/2.7.1/deploy-with-docker/index.html | 8 ++---
zh/docs/dashboard/2.7.1/deploy-with-rpm/index.html | 8 ++---
zh/docs/dashboard/2.7.1/deploy/index.html | 8 ++---
zh/docs/dashboard/2.7.1/develop/index.html | 8 ++---
zh/docs/dashboard/2.7.1/front-end-e2e/index.html | 8 ++---
zh/docs/dashboard/2.7.1/tags/index.html | 8 ++---
zh/docs/dashboard/2.7/FAQ/index.html | 8 ++---
zh/docs/dashboard/2.7/I18N_USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/2.7/IGNORE_DOC/index.html | 8 ++---
.../2.7/IMPORT_OPENAPI_USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/2.7/USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/2.7/api/api/index.html | 8 ++---
zh/docs/dashboard/2.7/back-end-tests/index.html | 8 ++---
.../dashboard/2.7/deploy-with-docker/index.html | 8 ++---
zh/docs/dashboard/2.7/deploy-with-rpm/index.html | 8 ++---
zh/docs/dashboard/2.7/deploy/index.html | 8 ++---
zh/docs/dashboard/2.7/develop/index.html | 8 ++---
zh/docs/dashboard/2.7/front-end-e2e/index.html | 8 ++---
zh/docs/dashboard/2.7/tags/index.html | 8 ++---
zh/docs/dashboard/2.8/FAQ/index.html | 8 ++---
zh/docs/dashboard/2.8/I18N_USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/2.8/IGNORE_DOC/index.html | 8 ++---
.../2.8/IMPORT_OPENAPI_USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/2.8/USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/2.8/api/api/index.html | 8 ++---
zh/docs/dashboard/2.8/back-end-tests/index.html | 8 ++---
.../dashboard/2.8/deploy-with-docker/index.html | 8 ++---
zh/docs/dashboard/2.8/deploy-with-rpm/index.html | 8 ++---
zh/docs/dashboard/2.8/deploy/index.html | 8 ++---
zh/docs/dashboard/2.8/develop/index.html | 8 ++---
zh/docs/dashboard/2.8/front-end-e2e/index.html | 8 ++---
zh/docs/dashboard/2.8/tags/index.html | 8 ++---
zh/docs/dashboard/FAQ/index.html | 8 ++---
zh/docs/dashboard/I18N_USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/IGNORE_DOC/index.html | 8 ++---
.../dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/api/api/index.html | 8 ++---
zh/docs/dashboard/back-end-tests/index.html | 8 ++---
zh/docs/dashboard/deploy-with-docker/index.html | 8 ++---
zh/docs/dashboard/deploy-with-rpm/index.html | 8 ++---
zh/docs/dashboard/deploy/index.html | 8 ++---
zh/docs/dashboard/develop/index.html | 8 ++---
zh/docs/dashboard/front-end-e2e/index.html | 8 ++---
zh/docs/dashboard/next/FAQ/index.html | 8 ++---
zh/docs/dashboard/next/I18N_USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/next/IGNORE_DOC/index.html | 10 +++----
.../next/IMPORT_OPENAPI_USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/next/USER_GUIDE/index.html | 8 ++---
zh/docs/dashboard/next/api/api/index.html | 8 ++---
zh/docs/dashboard/next/back-end-tests/index.html | 8 ++---
.../dashboard/next/deploy-with-docker/index.html | 8 ++---
zh/docs/dashboard/next/deploy-with-rpm/index.html | 8 ++---
zh/docs/dashboard/next/deploy/index.html | 8 ++---
zh/docs/dashboard/next/develop/index.html | 8 ++---
zh/docs/dashboard/next/front-end-e2e/index.html | 8 ++---
zh/docs/dashboard/next/install/index.html | 8 ++---
zh/docs/dashboard/next/tags/index.html | 8 ++---
zh/docs/dashboard/tags/index.html | 8 ++---
zh/docs/docker/IGNORE_DOC/index.html | 8 ++---
zh/docs/docker/apisix-2.10.0/IGNORE_DOC/index.html | 8 ++---
zh/docs/docker/apisix-2.10.0/build/index.html | 8 ++---
zh/docs/docker/apisix-2.10.0/example/index.html | 8 ++---
zh/docs/docker/apisix-2.10.0/manual/index.html | 8 ++---
zh/docs/docker/apisix-2.10.0/tags/index.html | 8 ++---
zh/docs/docker/apisix-2.10.1/IGNORE_DOC/index.html | 8 ++---
zh/docs/docker/apisix-2.10.1/build/index.html | 8 ++---
zh/docs/docker/apisix-2.10.1/example/index.html | 8 ++---
zh/docs/docker/apisix-2.10.1/manual/index.html | 8 ++---
zh/docs/docker/apisix-2.10.1/tags/index.html | 8 ++---
zh/docs/docker/apisix-2.10.2/IGNORE_DOC/index.html | 8 ++---
zh/docs/docker/apisix-2.10.2/build/index.html | 8 ++---
zh/docs/docker/apisix-2.10.2/example/index.html | 8 ++---
zh/docs/docker/apisix-2.10.2/manual/index.html | 8 ++---
zh/docs/docker/apisix-2.10.2/tags/index.html | 8 ++---
zh/docs/docker/apisix-2.9.0/IGNORE_DOC/index.html | 8 ++---
zh/docs/docker/apisix-2.9.0/build/index.html | 8 ++---
zh/docs/docker/apisix-2.9.0/example/index.html | 8 ++---
zh/docs/docker/apisix-2.9.0/manual/index.html | 8 ++---
zh/docs/docker/apisix-2.9.0/tags/index.html | 8 ++---
zh/docs/docker/build/index.html | 8 ++---
.../docker/dashboard-2.7.1/IGNORE_DOC/index.html | 8 ++---
zh/docs/docker/dashboard-2.7.1/build/index.html | 8 ++---
zh/docs/docker/dashboard-2.7.1/example/index.html | 8 ++---
zh/docs/docker/dashboard-2.7.1/manual/index.html | 8 ++---
zh/docs/docker/dashboard-2.7.1/tags/index.html | 8 ++---
zh/docs/docker/example/index.html | 8 ++---
zh/docs/docker/manual/index.html | 8 ++---
zh/docs/docker/next/IGNORE_DOC/index.html | 10 +++----
zh/docs/docker/next/build/index.html | 8 ++---
zh/docs/docker/next/example/index.html | 8 ++---
zh/docs/docker/next/manual/index.html | 8 ++---
zh/docs/docker/next/tags/index.html | 8 ++---
zh/docs/docker/tags/index.html | 8 ++---
zh/docs/general/2fa/index.html | 10 +++----
zh/docs/general/blog/index.html | 10 +++----
zh/docs/general/committer-guide/index.html | 10 +++----
zh/docs/general/community/index.html | 10 +++----
zh/docs/general/contributor-guide/index.html | 10 +++----
.../general/integrate-with-project-docs/index.html | 10 +++----
zh/docs/general/release-guide/index.html | 10 +++----
zh/docs/general/security/index.html | 10 +++----
zh/docs/general/subscribe-guide/index.html | 10 +++----
zh/docs/general/tags/index.html | 8 ++---
.../go-plugin-runner/0.1.0/IGNORE_DOC/index.html | 8 ++---
.../0.1.0/developer-guide/index.html | 8 ++---
.../0.1.0/getting-started/index.html | 8 ++---
zh/docs/go-plugin-runner/0.1.0/tags/index.html | 8 ++---
zh/docs/go-plugin-runner/IGNORE_DOC/index.html | 8 ++---
.../go-plugin-runner/developer-guide/index.html | 8 ++---
.../go-plugin-runner/getting-started/index.html | 8 ++---
.../go-plugin-runner/next/IGNORE_DOC/index.html | 10 +++----
.../next/developer-guide/index.html | 8 ++---
.../next/getting-started/index.html | 8 ++---
zh/docs/go-plugin-runner/next/tags/index.html | 8 ++---
zh/docs/go-plugin-runner/tags/index.html | 8 ++---
zh/docs/helm-chart/FAQ/index.html | 8 ++---
zh/docs/helm-chart/IGNORE_DOC/index.html | 10 +++----
zh/docs/helm-chart/apisix-dashboard/index.html | 8 ++---
.../apisix-ingress-controller/index.html | 8 ++---
zh/docs/helm-chart/apisix/index.html | 8 ++---
zh/docs/helm-chart/tags/index.html | 8 ++---
zh/docs/index.html | 8 ++---
zh/docs/ingress-controller/FAQ/index.html | 8 ++---
zh/docs/ingress-controller/IGNORE_DOC/index.html | 10 +++----
.../concepts/annotations/index.html | 8 ++---
.../concepts/apisix_cluster_config/index.html | 8 ++---
.../concepts/apisix_route/index.html | 8 ++---
.../concepts/apisix_tls/index.html | 8 ++---
.../concepts/apisix_upstream/index.html | 8 ++---
zh/docs/ingress-controller/contribute/index.html | 8 ++---
.../ingress-controller/deployments/ack/index.html | 8 ++---
.../ingress-controller/deployments/aws/index.html | 8 ++---
.../deployments/azure/index.html | 8 ++---
.../ingress-controller/deployments/gke/index.html | 8 ++---
.../deployments/k3s-rke/index.html | 8 ++---
.../deployments/kubesphere/index.html | 8 ++---
.../deployments/minikube/index.html | 8 ++---
.../ingress-controller/deployments/tke/index.html | 8 ++---
zh/docs/ingress-controller/design/index.html | 8 ++---
zh/docs/ingress-controller/development/index.html | 8 ++---
.../ingress-controller/getting-started/index.html | 8 ++---
.../practices/check-crd-status/index.html | 8 ++---
.../ingress-controller/practices/index/index.html | 8 ++---
.../index.html | 8 ++---
.../index.html | 8 ++---
.../ingress-controller/practices/mtls/index.html | 8 ++---
.../practices/proxy-grpc-service/index.html | 8 ++---
.../index.html | 8 ++---
.../practices/proxy-the-httpbin-service/index.html | 8 ++---
.../practices/the-hard-way/index.html | 8 ++---
.../references/apisix_cluster_config/index.html | 8 ++---
.../references/apisix_route_v1/index.html | 8 ++---
.../references/apisix_route_v2alpha1/index.html | 8 ++---
.../references/apisix_route_v2beta1/index.html | 8 ++---
.../references/apisix_tls/index.html | 8 ++---
.../references/apisix_upstream/index.html | 8 ++---
zh/docs/ingress-controller/tags/index.html | 8 ++---
zh/docs/ingress-controller/upgrade/index.html | 8 ++---
zh/docs/java-plugin-runner/IGNORE_DOC/index.html | 8 ++---
zh/docs/java-plugin-runner/development/index.html | 8 ++---
zh/docs/java-plugin-runner/how-it-works/index.html | 8 ++---
.../java-plugin-runner/next/IGNORE_DOC/index.html | 10 +++----
.../java-plugin-runner/next/development/index.html | 8 ++---
.../next/how-it-works/index.html | 8 ++---
zh/docs/java-plugin-runner/next/tags/index.html | 8 ++---
.../index.html | 8 ++---
zh/docs/java-plugin-runner/tags/index.html | 8 ++---
.../index.html | 8 ++---
zh/docs/python-plugin-runner/IGNORE_DOC/index.html | 8 ++---
.../developer-guide/index.html | 8 ++---
.../getting-started/index.html | 8 ++---
.../next/IGNORE_DOC/index.html | 10 +++----
.../next/developer-guide/index.html | 8 ++---
.../next/getting-started/index.html | 8 ++---
zh/docs/python-plugin-runner/next/tags/index.html | 8 ++---
zh/docs/python-plugin-runner/tags/index.html | 8 ++---
zh/downloads/index.html | 8 ++---
zh/events/archive/index.html | 8 ++---
zh/help/index.html | 8 ++---
zh/index.html | 8 ++---
zh/plugins/index.html | 8 ++---
.../11/15/release-apache-apisix-0.9/index.html | 8 ++---
.../2019/9/29/release-apache-apisix-0.8/index.html | 8 ++---
.../2019/9/6/release-apache-apisix-0.7/index.html | 8 ++---
.../2020/1/15/release-apache-apisix-1.0/index.html | 8 ++---
.../10/28/release-apache-apisix-2.0/index.html | 8 ++---
.../2020/12/1/release-apache-apisix-2.1/index.html | 8 ++---
.../release-apache-apisix-dashboard-2.2/index.html | 8 ++---
.../index.html | 8 ++---
.../2020/2/24/release-apache-apisix-1.1/index.html | 8 ++---
.../release-apache-apisix-dashboard-1.0/index.html | 8 ++---
.../2020/4/20/release-apache-apisix-1.2/index.html | 8 ++---
.../2020/5/26/release-apache-apisix-1.3/index.html | 8 ++---
.../2020/6/30/release-apache-apisix-1.4/index.html | 8 ++---
.../7/20/release-apache-apisix-1.4.1/index.html | 8 ++---
.../release-apache-apisix-dashboard-1.5/index.html | 8 ++---
.../2020/8/6/release-apache-apisix-1.5/index.html | 8 ++---
.../release-apache-apisix-dashboard-2.3/index.html | 8 ++---
.../index.html | 8 ++---
.../2021/1/8/release-apache-apisix-2.2/index.html | 8 ++---
.../index.html | 8 ++---
.../index.html | 8 ++---
.../release-apache-apisix-dashboard-2.4/index.html | 8 ++---
.../2021/2/9/release-apache-apisix-2.3/index.html | 8 ++---
.../index.html | 8 ++---
.../release-apache-apisix-dashboard-2.5/index.html | 8 ++---
.../2021/3/5/release-apache-apisix-2.4/index.html | 8 ++---
.../index.html | 8 ++---
.../release-apache-apisix-dashboard-2.6/index.html | 8 ++---
.../2021/4/5/release-apache-apisix-2.5/index.html | 8 ++---
.../index.html | 8 ++---
.../2021/5/24/release-apache-apisix-2.6/index.html | 8 ++---
.../index.html | 8 ++---
.../release-apache-apisix-dashboard-2.7/index.html | 8 ++---
.../index.html | 8 ++---
.../2021/6/25/release-apache-apisix-2.7/index.html | 8 ++---
.../index.html | 8 ++---
.../index.html | 8 ++---
.../2021/7/27/release-apache-apisix-2.8/index.html | 8 ++---
.../index.html | 8 ++---
.../index.html | 8 ++---
.../index.html | 8 ++---
.../2021/8/27/release-apache-apisix-2.9/index.html | 8 ++---
.../index.html | 8 ++---
.../index.html | 8 ++---
.../release-apache-apisix-dashboard-2.8/index.html | 8 ++---
zh/releases/archive/index.html | 8 ++---
zh/releases/index.html | 8 ++---
zh/releases/page/2/index.html | 8 ++---
zh/releases/page/3/index.html | 8 ++---
zh/releases/page/4/index.html | 8 ++---
zh/releases/page/5/index.html | 8 ++---
zh/releases/tags/apisix-dashboard/index.html | 8 ++---
.../tags/apisix-go-plugin-runner/index.html | 8 ++---
.../tags/apisix-ingress-controller/index.html | 8 ++---
.../tags/apisix-java-plugin-runner/index.html | 8 ++---
.../tags/apisix-python-plugin-runner/index.html | 8 ++---
zh/releases/tags/apisix/index.html | 8 ++---
zh/releases/tags/index.html | 8 ++---
zh/search/index.html | 10 +++----
zh/sections/architecture/index.html | 8 ++---
zh/sections/benefits/index.html | 8 ++---
zh/sections/comparison/index.html | 8 ++---
zh/sections/components/arrowAnim/index.html | 8 ++---
zh/sections/components/eventPosterCard/index.html | 8 ++---
zh/sections/components/heroCanvas/index.html | 8 ++---
zh/sections/components/ossCanvas/index.html | 8 ++---
zh/sections/endcta/index.html | 8 ++---
zh/sections/features/index.html | 8 ++---
zh/sections/heroSection/index.html | 8 ++---
zh/sections/home-events-section/index.html | 8 ++---
zh/sections/opensourcePromo/index.html | 8 ++---
zh/showcase/index.html | 8 ++---
zh/sitemap.xml | 2 +-
zh/team/index.html | 8 ++---
2714 files changed, 10598 insertions(+), 10485 deletions(-)
diff --git a/404.html b/404.html
index 487b952..c44ec58 100644
--- a/404.html
+++ b/404.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Page Not Found | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Page Not Found | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 77fefe6..f2ccdc3 100644
--- a/articles/Apache-APISIX-From-OpenSource-Commercialization-by-Apache-Way/index.html
+++ b/articles/Apache-APISIX-From-OpenSource-Commercialization-by-Apache-Way/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">按照 Apache Way 运作开源商业化公司,这行得通吗? | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 21dc9e6..fd3983b 100644
--- a/articles/Apache-APISIX-From-OpenSource-Commercialization/index.html
+++ b/articles/Apache-APISIX-From-OpenSource-Commercialization/index.html
@@ -15,14 +15,14 @@
<link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 从开源项目到商业化之路 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og: [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 从开源项目到商业化之路 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og: [...]
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 f974500..1c425f4 100644
--- a/articles/Apache-APISIX-Incubator-Journey/index.html
+++ b/articles/Apache-APISIX-Incubator-Journey/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 的孵化器之旅 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 8c7bf2c..58e1628 100644
--- a/articles/Apache-APISIX-Kubernetes-Ingress/index.html
+++ b/articles/Apache-APISIX-Kubernetes-Ingress/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">基于 Apache APISIX 的 Kubernetes Ingress 的实现 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="tru [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 0318b9a..196dbf2 100644
--- a/articles/Apache-APISIX-in-China-Mobile-Cloud/index.html
+++ b/articles/Apache-APISIX-in-China-Mobile-Cloud/index.html
@@ -15,14 +15,14 @@
<link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 在移动云对象存储 EOS 的应用与实践 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" prope [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 在移动云对象存储 EOS 的应用与实践 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" prope [...]
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 cf4da54..b834ea2 100644
--- a/articles/How-To-Extend-Apache-APISIX-into-a-Service-Mesh-Sidecar/index.html
+++ b/articles/How-To-Extend-Apache-APISIX-into-a-Service-Mesh-Sidecar/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">如何将 Apache APISIX 扩展为一个服务网格的边车 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 e1ad806..e705581 100644
--- a/articles/Relying-On-The-Community-To-Get-Apache-APISIX-Up-Speed/index.html
+++ b/articles/Relying-On-The-Community-To-Get-Apache-APISIX-Up-Speed/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">依托社区让 Apache APISIX 高速发展 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:u [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 a0a20fe..61e1122 100644
--- a/articles/Rendering-Community-Events-Using-ECharts/index.html
+++ b/articles/Rendering-Community-Events-Using-ECharts/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">使用 ECharts 呈现社区活动的渲染图 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 086a9a5..a97a8b8 100644
--- a/articles/Speed-Limiting-With-Apache-APISIX/index.html
+++ b/articles/Speed-Limiting-With-Apache-APISIX/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">使用 Apache APISIX 实现限流限速 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:ur [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 6b47c58..04e7d53 100644
--- a/articles/Test-Apache-APISIX-Resilience-With-Chaos-Mesh/index.html
+++ b/articles/Test-Apache-APISIX-Resilience-With-Chaos-Mesh/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">用 Chaos Mesh 测试 Apache APISIX 的恢复能力 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" pro [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 971cffd..5a1fd4b 100644
--- a/articles/The-Appeal-of-OpenSource/index.html
+++ b/articles/The-Appeal-of-OpenSource/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">开源的魅力 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https: [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 9f55636..ba7d1eb 100644
--- a/articles/The-Evolution-of-Apache-APISIX/index.html
+++ b/articles/The-Evolution-of-Apache-APISIX/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 的演变 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" con [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 f1b4638..9cffd32 100644
--- a/articles/Using-Apache-APISIX-To-Do-Authentication-and-Authorization/index.html
+++ b/articles/Using-Apache-APISIX-To-Do-Authentication-and-Authorization/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">使用 Apache APISIX 进行认证和授权 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:u [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/articles/archive/index.html b/articles/archive/index.html
index cc8dbed..52ba5d5 100644
--- a/articles/archive/index.html
+++ b/articles/archive/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Archive | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Archive | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/articles/atom.xml b/articles/atom.xml
index 8f97c5a..878fa9f 100644
--- a/articles/atom.xml
+++ b/articles/atom.xml
@@ -2,7 +2,7 @@
<feed xmlns="http://www.w3.org/2005/Atom">
<id>https://apisix.apache.org/articles</id>
<title>Apache APISIX® -- Cloud-Native API Gateway Blog</title>
- <updated>2021-12-02T07:02:28.365Z</updated>
+ <updated>2021-12-02T08:22:18.198Z</updated>
<generator>https://github.com/jpmonette/feed</generator>
<link rel="alternate" href="https://apisix.apache.org/articles"/>
<subtitle>Apache APISIX® -- Cloud-Native API Gateway Blog</subtitle>
@@ -11,14 +11,14 @@
<title type="html"><![CDATA[Apache APISIX 从开源项目到商业化之路]]></title>
<id>Apache APISIX 从开源项目到商业化之路</id>
<link href="https://apisix.apache.org/articles/Apache-APISIX-From-OpenSource-Commercialization"/>
- <updated>2021-12-02T07:02:28.365Z</updated>
+ <updated>2021-12-02T08:22:18.198Z</updated>
<summary type="html"><![CDATA[Apache APISIX 从开源项目到商业化之路.]]></summary>
</entry>
<entry>
<title type="html"><![CDATA[Apache APISIX 在移动云对象存储 EOS 的应用与实践]]></title>
<id>Apache APISIX 在移动云对象存储 EOS 的应用与实践</id>
<link href="https://apisix.apache.org/articles/Apache-APISIX-in-China-Mobile-Cloud"/>
- <updated>2021-12-02T07:02:28.365Z</updated>
+ <updated>2021-12-02T08:22:18.198Z</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 7156984..85bf7f6 100644
--- a/articles/index.html
+++ b/articles/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Article | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Article | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 a4b86de..95e6ac6 100644
--- a/articles/page/2/index.html
+++ b/articles/page/2/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Article | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Article | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/articles/rss.xml b/articles/rss.xml
index d255a09..5c46968 100644
--- a/articles/rss.xml
+++ b/articles/rss.xml
@@ -4,21 +4,21 @@
<title>Apache APISIX® -- Cloud-Native API Gateway Blog</title>
<link>https://apisix.apache.org/articles</link>
<description>Apache APISIX® -- Cloud-Native API Gateway Blog</description>
- <lastBuildDate>Thu, 02 Dec 2021 07:02:28 GMT</lastBuildDate>
+ <lastBuildDate>Thu, 02 Dec 2021 08:22:18 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, 02 Dec 2021 07:02:28 GMT</pubDate>
+ <pubDate>Thu, 02 Dec 2021 08:22:18 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, 02 Dec 2021 07:02:28 GMT</pubDate>
+ <pubDate>Thu, 02 Dec 2021 08:22:18 GMT</pubDate>
<description><![CDATA[该演讲主题主要是讲述 Apache APISIX 在中国移动公有云对象存储 EOS 中的应用与实践经验分享。首先介绍了中国移动公有云建设规划及对象存储产品发展演进历程,然后阐述了我们为什么选择 APISIX 作为负载均衡网关,并对 EOS 流量治理架构演进三个阶段进行进行了详细介绍。同时,我们还分享了基于 APISIX 我们解决了哪些实际生产问题,做了哪些方案及开发工作,最后对我们未来的演进做了一些规划说明。]]></description>
</item>
<item>
diff --git a/assets/js/03b491a1.470fb42a.js b/assets/js/03b491a1.470fb42a.js
deleted file mode 100644
index 707c95a..0000000
--- a/assets/js/03b491a1.470fb42a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[62916],{3905:function(e,t,a){a.d(t,{Zo:function(){return c},kt:function(){return u}});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a [...]
\ No newline at end of file
diff --git a/assets/js/03b491a1.9a3383cb.js b/assets/js/03b491a1.9a3383cb.js
new file mode 100644
index 0000000..96f5d2a
--- /dev/null
+++ b/assets/js/03b491a1.9a3383cb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[62916],{3905:function(e,t,a){a.d(t,{Zo:function(){return c},kt:function(){return u}});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a [...]
\ No newline at end of file
diff --git a/assets/js/07718882.a915c8f8.js b/assets/js/07718882.a915c8f8.js
deleted file mode 100644
index e0a99d5..0000000
--- a/assets/js/07718882.a915c8f8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[99473],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return f}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/07718882.d6479b1d.js b/assets/js/07718882.d6479b1d.js
new file mode 100644
index 0000000..6e42e0a
--- /dev/null
+++ b/assets/js/07718882.d6479b1d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[99473],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return f}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/09b17eb5.2886bffd.js b/assets/js/09b17eb5.2886bffd.js
new file mode 100644
index 0000000..5d3f746
--- /dev/null
+++ b/assets/js/09b17eb5.2886bffd.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[29556],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return s}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/09b17eb5.c3b9a84a.js b/assets/js/09b17eb5.c3b9a84a.js
deleted file mode 100644
index 111820a..0000000
--- a/assets/js/09b17eb5.c3b9a84a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[29556],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return s}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/0cbbbd0e.c12b6dce.js b/assets/js/0cbbbd0e.c12b6dce.js
deleted file mode 100644
index 7cdf79e..0000000
--- a/assets/js/0cbbbd0e.c12b6dce.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[45069],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return u}});var a=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/0cbbbd0e.d1bb69fe.js b/assets/js/0cbbbd0e.d1bb69fe.js
new file mode 100644
index 0000000..0201357
--- /dev/null
+++ b/assets/js/0cbbbd0e.d1bb69fe.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[45069],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return d}});var a=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/11ce4159.75db5cf0.js b/assets/js/11ce4159.75db5cf0.js
new file mode 100644
index 0000000..c136676
--- /dev/null
+++ b/assets/js/11ce4159.75db5cf0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1531],{75034:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/5","page":5,"postsPerPage":10,"totalPages":9,"totalCount":87,"previousPage":"/blog/page/4","nextPage":"/blog/page/6","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/11ce4159.ef416f84.js b/assets/js/11ce4159.ef416f84.js
deleted file mode 100644
index 1e9a42d..0000000
--- a/assets/js/11ce4159.ef416f84.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1531],{75034:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/5","page":5,"postsPerPage":10,"totalPages":9,"totalCount":86,"previousPage":"/blog/page/4","nextPage":"/blog/page/6","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/19945770.d689dd41.js b/assets/js/19945770.d689dd41.js
deleted file mode 100644
index 284c74a..0000000
--- a/assets/js/19945770.d689dd41.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[55067],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return m}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/19945770.d9c3ce3b.js b/assets/js/19945770.d9c3ce3b.js
new file mode 100644
index 0000000..200bb07
--- /dev/null
+++ b/assets/js/19945770.d9c3ce3b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[55067],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return m}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/3393d167.0bfe2131.js b/assets/js/3393d167.0bfe2131.js
deleted file mode 100644
index 2ec9567..0000000
--- a/assets/js/3393d167.0bfe2131.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[27314],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/3393d167.fcf906a8.js b/assets/js/3393d167.fcf906a8.js
new file mode 100644
index 0000000..7e5f76a
--- /dev/null
+++ b/assets/js/3393d167.fcf906a8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[27314],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/358566b4.610b7219.js b/assets/js/358566b4.610b7219.js
deleted file mode 100644
index b59c096..0000000
--- a/assets/js/358566b4.610b7219.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[13553],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/358566b4.8c0de77e.js b/assets/js/358566b4.8c0de77e.js
new file mode 100644
index 0000000..0837281
--- /dev/null
+++ b/assets/js/358566b4.8c0de77e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[13553],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/3dc9f306.1a90bd57.js b/assets/js/3dc9f306.1a90bd57.js
deleted file mode 100644
index c7cc81b..0000000
--- a/assets/js/3dc9f306.1a90bd57.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[38393],{3905:function(t,e,o){o.d(e,{Zo:function(){return l},kt:function(){return d}});var n=o(67294);function r(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function a(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.push.apply(o [...]
\ No newline at end of file
diff --git a/assets/js/3dc9f306.b9d34dc8.js b/assets/js/3dc9f306.b9d34dc8.js
new file mode 100644
index 0000000..3396918
--- /dev/null
+++ b/assets/js/3dc9f306.b9d34dc8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[38393],{3905:function(t,e,o){o.d(e,{Zo:function(){return l},kt:function(){return d}});var n=o(67294);function r(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function a(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.push.apply(o [...]
\ No newline at end of file
diff --git a/assets/js/3f1b4b86.a57f4956.js b/assets/js/3f1b4b86.a57f4956.js
deleted file mode 100644
index 33e7ebe..0000000
--- a/assets/js/3f1b4b86.a57f4956.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[48166],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return m}});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/3f1b4b86.f0700596.js b/assets/js/3f1b4b86.f0700596.js
new file mode 100644
index 0000000..941b622
--- /dev/null
+++ b/assets/js/3f1b4b86.f0700596.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[48166],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return m}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/40fb2fae.b26982ce.js b/assets/js/40fb2fae.b26982ce.js
new file mode 100644
index 0000000..02a41f9
--- /dev/null
+++ b/assets/js/40fb2fae.b26982ce.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[32547],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/40fb2fae.d839367c.js b/assets/js/40fb2fae.d839367c.js
deleted file mode 100644
index f7b7a2e..0000000
--- a/assets/js/40fb2fae.d839367c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[32547],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/44ac4dbb.44ab412a.js b/assets/js/44ac4dbb.44ab412a.js
new file mode 100644
index 0000000..c8aaea7
--- /dev/null
+++ b/assets/js/44ac4dbb.44ab412a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[77142],{90399:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/6","page":6,"postsPerPage":10,"totalPages":9,"totalCount":87,"previousPage":"/blog/page/5","nextPage":"/blog/page/7","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/44ac4dbb.b2eb1071.js b/assets/js/44ac4dbb.b2eb1071.js
deleted file mode 100644
index 77c23f1..0000000
--- a/assets/js/44ac4dbb.b2eb1071.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[77142],{90399:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/6","page":6,"postsPerPage":10,"totalPages":9,"totalCount":86,"previousPage":"/blog/page/5","nextPage":"/blog/page/7","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/4c20006b.03d24799.js b/assets/js/4c20006b.03d24799.js
new file mode 100644
index 0000000..043f023
--- /dev/null
+++ b/assets/js/4c20006b.03d24799.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[91012],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return O}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/4c20006b.1ea59ab9.js b/assets/js/4c20006b.1ea59ab9.js
deleted file mode 100644
index 0bb2db8..0000000
--- a/assets/js/4c20006b.1ea59ab9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[91012],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/4f9f5708.163404e7.js b/assets/js/4f9f5708.163404e7.js
deleted file mode 100644
index ebf0216..0000000
--- a/assets/js/4f9f5708.163404e7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[79578],{3905:function(e,t,n){n.d(t,{Zo:function(){return s},kt:function(){return d}});var r=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/4f9f5708.58d67a71.js b/assets/js/4f9f5708.58d67a71.js
new file mode 100644
index 0000000..8fee067
--- /dev/null
+++ b/assets/js/4f9f5708.58d67a71.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[79578],{3905:function(e,t,n){n.d(t,{Zo:function(){return s},kt:function(){return d}});var r=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/507e1a4c.6818ec64.js b/assets/js/507e1a4c.6818ec64.js
deleted file mode 100644
index 5d91027..0000000
--- a/assets/js/507e1a4c.6818ec64.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[58509],{62276:function(e){e.exports=JSON.parse('{"blogPosts":[{"id":"Apache APISIX \u4ece\u5f00\u6e90\u9879\u76ee\u5230\u5546\u4e1a\u5316\u4e4b\u8def","metadata":{"permalink":"/articles/Apache-APISIX-From-OpenSource-Commercialization","source":"@site/articles/Apache-APISIX-From-OpenSource-Commercialization.md","title":"Apache APISIX \u4ece\u5f00\u6e90\u9879\u76ee\u5230\u5546\u4e1a\u5316\u4e4b\u8def","description":"Apache APISI [...]
\ No newline at end of file
diff --git a/assets/js/507e1a4c.e8d27d38.js b/assets/js/507e1a4c.e8d27d38.js
new file mode 100644
index 0000000..375638c
--- /dev/null
+++ b/assets/js/507e1a4c.e8d27d38.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[58509],{62276:function(e){e.exports=JSON.parse('{"blogPosts":[{"id":"Apache APISIX \u4ece\u5f00\u6e90\u9879\u76ee\u5230\u5546\u4e1a\u5316\u4e4b\u8def","metadata":{"permalink":"/articles/Apache-APISIX-From-OpenSource-Commercialization","source":"@site/articles/Apache-APISIX-From-OpenSource-Commercialization.md","title":"Apache APISIX \u4ece\u5f00\u6e90\u9879\u76ee\u5230\u5546\u4e1a\u5316\u4e4b\u8def","description":"Apache APISI [...]
\ No newline at end of file
diff --git a/assets/js/50facf8e.712c4e51.js b/assets/js/50facf8e.712c4e51.js
new file mode 100644
index 0000000..60fffcc
--- /dev/null
+++ b/assets/js/50facf8e.712c4e51.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[87974],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return d}});var i=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/50facf8e.c6d1027d.js b/assets/js/50facf8e.c6d1027d.js
deleted file mode 100644
index 0e2d8eb..0000000
--- a/assets/js/50facf8e.c6d1027d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[87974],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return d}});var i=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/52099127.0acecfae.js b/assets/js/52099127.0acecfae.js
deleted file mode 100644
index af00c62b..0000000
--- a/assets/js/52099127.0acecfae.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[41426],{94708:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/7","page":7,"postsPerPage":10,"totalPages":9,"totalCount":86,"previousPage":"/blog/page/6","nextPage":"/blog/page/8","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/52099127.0b438c66.js b/assets/js/52099127.0b438c66.js
new file mode 100644
index 0000000..fb04eec
--- /dev/null
+++ b/assets/js/52099127.0b438c66.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[41426],{94708:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/7","page":7,"postsPerPage":10,"totalPages":9,"totalCount":87,"previousPage":"/blog/page/6","nextPage":"/blog/page/8","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/542fd41f.8b87e60c.js b/assets/js/542fd41f.8b87e60c.js
new file mode 100644
index 0000000..2e47dde
--- /dev/null
+++ b/assets/js/542fd41f.8b87e60c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4316],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r, [...]
\ No newline at end of file
diff --git a/assets/js/542fd41f.f1423672.js b/assets/js/542fd41f.f1423672.js
deleted file mode 100644
index 48e5832..0000000
--- a/assets/js/542fd41f.f1423672.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4316],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r, [...]
\ No newline at end of file
diff --git a/assets/js/55207995.a89e1a5c.js b/assets/js/55207995.a89e1a5c.js
new file mode 100644
index 0000000..e38b6fb
--- /dev/null
+++ b/assets/js/55207995.a89e1a5c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[69650],{43610:function(e){e.exports=JSON.parse('{"allTagsPath":"/blog/tags","slug":"/blog/tags/technology","name":"Technology","count":22,"permalink":"/blog/tags/technology"}')}}]);
\ No newline at end of file
diff --git a/assets/js/55207995.be4a8497.js b/assets/js/55207995.be4a8497.js
deleted file mode 100644
index bad553b..0000000
--- a/assets/js/55207995.be4a8497.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[69650],{43610:function(e){e.exports=JSON.parse('{"allTagsPath":"/blog/tags","slug":"/blog/tags/technology","name":"Technology","count":21,"permalink":"/blog/tags/technology"}')}}]);
\ No newline at end of file
diff --git a/assets/js/601c6eaa.aea8f9de.js b/assets/js/601c6eaa.aea8f9de.js
new file mode 100644
index 0000000..0c5321f
--- /dev/null
+++ b/assets/js/601c6eaa.aea8f9de.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[97117],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function 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.ea63a630.js b/assets/js/601c6eaa.ea63a630.js
deleted file mode 100644
index 21c4527..0000000
--- a/assets/js/601c6eaa.ea63a630.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[97117],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function 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.046466a2.js b/assets/js/66fbb9c2.046466a2.js
deleted file mode 100644
index 515dd19..0000000
--- a/assets/js/66fbb9c2.046466a2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7668],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r, [...]
\ No newline at end of file
diff --git a/assets/js/66fbb9c2.35e0b3cb.js b/assets/js/66fbb9c2.35e0b3cb.js
new file mode 100644
index 0000000..d73e2ce
--- /dev/null
+++ b/assets/js/66fbb9c2.35e0b3cb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7668],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r, [...]
\ No newline at end of file
diff --git a/assets/js/6d650e2a.297bb4a3.js b/assets/js/6d650e2a.297bb4a3.js
new file mode 100644
index 0000000..00b084b
--- /dev/null
+++ b/assets/js/6d650e2a.297bb4a3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[51475],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return h}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/6d650e2a.37504b1e.js b/assets/js/6d650e2a.37504b1e.js
deleted file mode 100644
index f0e7a46..0000000
--- a/assets/js/6d650e2a.37504b1e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[51475],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return g}});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/7af3052c.d9ad270f.js b/assets/js/7af3052c.d9ad270f.js
new file mode 100644
index 0000000..2b336dc
--- /dev/null
+++ b/assets/js/7af3052c.d9ad270f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[25032],{3905:function(e,a,t){t.d(a,{Zo:function(){return d},kt:function(){return u}});var n=t(67294);function i(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function r(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t [...]
\ No newline at end of file
diff --git a/assets/js/7af3052c.f306f23d.js b/assets/js/7af3052c.f306f23d.js
deleted file mode 100644
index 199d3e9..0000000
--- a/assets/js/7af3052c.f306f23d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[25032],{3905:function(e,a,t){t.d(a,{Zo:function(){return d},kt:function(){return u}});var n=t(67294);function i(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function r(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t [...]
\ No newline at end of file
diff --git a/assets/js/7d9726a8.113f1dd7.js b/assets/js/7d9726a8.113f1dd7.js
new file mode 100644
index 0000000..45d5e2f
--- /dev/null
+++ b/assets/js/7d9726a8.113f1dd7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7429],{89494:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/4","page":4,"postsPerPage":10,"totalPages":9,"totalCount":87,"previousPage":"/blog/page/3","nextPage":"/blog/page/5","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/7d9726a8.f2e5aec0.js b/assets/js/7d9726a8.f2e5aec0.js
deleted file mode 100644
index 1860cfa..0000000
--- a/assets/js/7d9726a8.f2e5aec0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7429],{89494:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/4","page":4,"postsPerPage":10,"totalPages":9,"totalCount":86,"previousPage":"/blog/page/3","nextPage":"/blog/page/5","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/80791de8.78e0f533.js b/assets/js/80791de8.78e0f533.js
new file mode 100644
index 0000000..48470c1
--- /dev/null
+++ b/assets/js/80791de8.78e0f533.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[50466],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return y}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/80791de8.b453a187.js b/assets/js/80791de8.b453a187.js
deleted file mode 100644
index 8c37a89..0000000
--- a/assets/js/80791de8.b453a187.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[50466],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return O}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/814f3328.4ea5d517.js b/assets/js/814f3328.4ea5d517.js
new file mode 100644
index 0000000..fb32f8f
--- /dev/null
+++ b/assets/js/814f3328.4ea5d517.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[52535],{45641:function(e){e.exports=JSON.parse('{"title":"All posts","items":[{"title":"Biweekly Report\uff5c11.15-11.30 Feature Highlights Update in Progress","permalink":"/blog/2021/12/02/weekly-report-1130"},{"title":"Apache APISIX\'s intergration with Azure Serverless","permalink":"/blog/2021/12/01/apisix-supports-azure-functions"},{"title":"Using Apache APISIX Ingress Gateway to access Custom Monitoring in KubeSphere","pe [...]
\ No newline at end of file
diff --git a/assets/js/814f3328.ee85ffc2.js b/assets/js/814f3328.ee85ffc2.js
deleted file mode 100644
index 5154b8d..0000000
--- a/assets/js/814f3328.ee85ffc2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[52535],{45641:function(e){e.exports=JSON.parse('{"title":"All posts","items":[{"title":"Biweekly Report\uff5c11.15-11.30 Feature Highlights Update in Progress","permalink":"/blog/2021/12/02/weekly-report-1130"},{"title":"Using Apache APISIX Ingress Gateway to access Custom Monitoring in KubeSphere","permalink":"/blog/2021/11/30/use-apisix-ingress-in-kubesphere"},{"title":"Contributer to Committer journey @Apache APISIX","perma [...]
\ No newline at end of file
diff --git a/assets/js/8e784bf3.cd8fb22e.js b/assets/js/8e784bf3.cd8fb22e.js
new file mode 100644
index 0000000..1e48970
--- /dev/null
+++ b/assets/js/8e784bf3.cd8fb22e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[78216],{3905:function(e,t,o){o.d(t,{Zo:function(){return p},kt:function(){return d}});var n=o(67294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function i(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o [...]
\ No newline at end of file
diff --git a/assets/js/8e784bf3.db2853b7.js b/assets/js/8e784bf3.db2853b7.js
deleted file mode 100644
index a8f4db2..0000000
--- a/assets/js/8e784bf3.db2853b7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[78216],{3905:function(e,t,o){o.d(t,{Zo:function(){return p},kt:function(){return d}});var n=o(67294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function i(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o [...]
\ No newline at end of file
diff --git a/assets/js/8eb4e46b.3330dad7.js b/assets/js/8eb4e46b.3330dad7.js
deleted file mode 100644
index b023aa1..0000000
--- a/assets/js/8eb4e46b.3330dad7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[10001],{82638:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/2","page":2,"postsPerPage":10,"totalPages":9,"totalCount":86,"previousPage":"/blog","nextPage":"/blog/page/3","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/8eb4e46b.5f497b5f.js b/assets/js/8eb4e46b.5f497b5f.js
new file mode 100644
index 0000000..bc5081e
--- /dev/null
+++ b/assets/js/8eb4e46b.5f497b5f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[10001],{82638:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/2","page":2,"postsPerPage":10,"totalPages":9,"totalCount":87,"previousPage":"/blog","nextPage":"/blog/page/3","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/8f700fa6.35e060ba.js b/assets/js/8f700fa6.35e060ba.js
new file mode 100644
index 0000000..95f44be
--- /dev/null
+++ b/assets/js/8f700fa6.35e060ba.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[53963],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return m}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/8f700fa6.fe3672aa.js b/assets/js/8f700fa6.fe3672aa.js
deleted file mode 100644
index fad306a..0000000
--- a/assets/js/8f700fa6.fe3672aa.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[53963],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return m}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/90fc8a94.06d7fd0c.js b/assets/js/90fc8a94.06d7fd0c.js
deleted file mode 100644
index 2352412..0000000
--- a/assets/js/90fc8a94.06d7fd0c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[64125],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return s}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/90fc8a94.24450e46.js b/assets/js/90fc8a94.24450e46.js
new file mode 100644
index 0000000..96cbdfa
--- /dev/null
+++ b/assets/js/90fc8a94.24450e46.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[64125],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return s}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/92999a1c.9568d163.js b/assets/js/92999a1c.9568d163.js
new file mode 100644
index 0000000..4f3786f
--- /dev/null
+++ b/assets/js/92999a1c.9568d163.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[18442],{15310:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/3","page":3,"postsPerPage":10,"totalPages":9,"totalCount":87,"previousPage":"/blog/page/2","nextPage":"/blog/page/4","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/92999a1c.b627b11d.js b/assets/js/92999a1c.b627b11d.js
deleted file mode 100644
index 1236dd0..0000000
--- a/assets/js/92999a1c.b627b11d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[18442],{15310:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/3","page":3,"postsPerPage":10,"totalPages":9,"totalCount":86,"previousPage":"/blog/page/2","nextPage":"/blog/page/4","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/941960b1.9cc4eeb0.js b/assets/js/941960b1.9cc4eeb0.js
deleted file mode 100644
index 9aad1ac..0000000
--- a/assets/js/941960b1.9cc4eeb0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[41950],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return m}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/941960b1.f1971b4f.js b/assets/js/941960b1.f1971b4f.js
new file mode 100644
index 0000000..2777a25
--- /dev/null
+++ b/assets/js/941960b1.f1971b4f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[41950],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return m}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/98b657d8.0fde2c0e.js b/assets/js/98b657d8.0fde2c0e.js
new file mode 100644
index 0000000..b878ca5
--- /dev/null
+++ b/assets/js/98b657d8.0fde2c0e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[38486],{15509:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/8","page":8,"postsPerPage":10,"totalPages":9,"totalCount":87,"previousPage":"/blog/page/7","nextPage":"/blog/page/9","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/98b657d8.64c5f6df.js b/assets/js/98b657d8.64c5f6df.js
deleted file mode 100644
index 6f0f6be..0000000
--- a/assets/js/98b657d8.64c5f6df.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[38486],{15509:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/8","page":8,"postsPerPage":10,"totalPages":9,"totalCount":86,"previousPage":"/blog/page/7","nextPage":"/blog/page/9","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/a7023ddc.9570d015.js b/assets/js/a7023ddc.9570d015.js
deleted file mode 100644
index bec9018..0000000
--- a/assets/js/a7023ddc.9570d015.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[11713],{53457:function(a){a.exports=JSON.parse('{"/blog/tags/events":{"allTagsPath":"/blog/tags","slug":"/blog/tags/events","name":"Events","count":19,"permalink":"/blog/tags/events"},"/blog/tags/technology":{"allTagsPath":"/blog/tags","slug":"/blog/tags/technology","name":"Technology","count":21,"permalink":"/blog/tags/technology"},"/blog/tags/community":{"allTagsPath":"/blog/tags","slug":"/blog/tags/community","name":"Commun [...]
\ No newline at end of file
diff --git a/assets/js/a7023ddc.e79d09e1.js b/assets/js/a7023ddc.e79d09e1.js
new file mode 100644
index 0000000..c20b524
--- /dev/null
+++ b/assets/js/a7023ddc.e79d09e1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[11713],{53457:function(a){a.exports=JSON.parse('{"/blog/tags/events":{"allTagsPath":"/blog/tags","slug":"/blog/tags/events","name":"Events","count":19,"permalink":"/blog/tags/events"},"/blog/tags/technology":{"allTagsPath":"/blog/tags","slug":"/blog/tags/technology","name":"Technology","count":22,"permalink":"/blog/tags/technology"},"/blog/tags/community":{"allTagsPath":"/blog/tags","slug":"/blog/tags/community","name":"Commun [...]
\ No newline at end of file
diff --git a/assets/js/ac0d4255.d21a4669.js b/assets/js/ac0d4255.d21a4669.js
new file mode 100644
index 0000000..4db5232
--- /dev/null
+++ b/assets/js/ac0d4255.d21a4669.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[28635],{3905:function(e,t,n){n.d(t,{Zo:function(){return p},kt:function(){return h}});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/adbb350b.5d75d3a9.js b/assets/js/adbb350b.5d75d3a9.js
deleted file mode 100644
index a76d316..0000000
--- a/assets/js/adbb350b.5d75d3a9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[85427],{3905:function(e,t,i){i.d(t,{Zo:function(){return p},kt:function(){return d}});var r=i(67294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function a(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i [...]
\ No newline at end of file
diff --git a/assets/js/adbb350b.d7a83e22.js b/assets/js/adbb350b.d7a83e22.js
new file mode 100644
index 0000000..07dca02
--- /dev/null
+++ b/assets/js/adbb350b.d7a83e22.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[85427],{3905:function(e,t,i){i.d(t,{Zo:function(){return p},kt:function(){return d}});var r=i(67294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function a(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i [...]
\ No newline at end of file
diff --git a/assets/js/b2b675dd.ce703ffd.js b/assets/js/b2b675dd.ce703ffd.js
deleted file mode 100644
index 9a41e96..0000000
--- a/assets/js/b2b675dd.ce703ffd.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[90533],{28017:function(e){e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":10,"totalPages":9,"totalCount":86,"previousPage":null,"nextPage":"/blog/page/2","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/b2b675dd.e1c814c6.js b/assets/js/b2b675dd.e1c814c6.js
new file mode 100644
index 0000000..f77d033
--- /dev/null
+++ b/assets/js/b2b675dd.e1c814c6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[90533],{28017:function(e){e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":10,"totalPages":9,"totalCount":87,"previousPage":null,"nextPage":"/blog/page/2","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/b2f554cd.2f86ff0b.js b/assets/js/b2f554cd.2f86ff0b.js
deleted file mode 100644
index 88bfac8..0000000
--- a/assets/js/b2f554cd.2f86ff0b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[11477],{30010:function(e){e.exports=JSON.parse('{"blogPosts":[{"id":"Biweekly Report\uff5c11.15-11.30 Feature Highlights Update in Progress","metadata":{"permalink":"/blog/2021/12/02/weekly-report-1130","source":"@site/blog/2021/12/02/weekly-report-1130.md","title":"Biweekly Report\uff5c11.15-11.30 Feature Highlights Update in Progress","description":"The Apache APISIX Community Weekly Report hopes to help community members be [...]
\ No newline at end of file
diff --git a/assets/js/b2f554cd.49409c80.js b/assets/js/b2f554cd.49409c80.js
new file mode 100644
index 0000000..578f9a5
--- /dev/null
+++ b/assets/js/b2f554cd.49409c80.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[11477],{30010:function(e){e.exports=JSON.parse('{"blogPosts":[{"id":"Biweekly Report\uff5c11.15-11.30 Feature Highlights Update in Progress","metadata":{"permalink":"/blog/2021/12/02/weekly-report-1130","source":"@site/blog/2021/12/02/weekly-report-1130.md","title":"Biweekly Report\uff5c11.15-11.30 Feature Highlights Update in Progress","description":"The Apache APISIX Community Weekly Report hopes to help community members be [...]
\ No newline at end of file
diff --git a/assets/js/c7fd585f.21dd641a.js b/assets/js/c7fd585f.21dd641a.js
new file mode 100644
index 0000000..fa11736
--- /dev/null
+++ b/assets/js/c7fd585f.21dd641a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[97901],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return h}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function 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/d18db9b0.01fb9115.js b/assets/js/d18db9b0.01fb9115.js
new file mode 100644
index 0000000..00c64bc
--- /dev/null
+++ b/assets/js/d18db9b0.01fb9115.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[17825],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/d18db9b0.4941797e.js b/assets/js/d18db9b0.4941797e.js
deleted file mode 100644
index 179aea2..0000000
--- a/assets/js/d18db9b0.4941797e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[17825],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/f091cc2c.598f30bd.js b/assets/js/f091cc2c.598f30bd.js
new file mode 100644
index 0000000..93eaf8f
--- /dev/null
+++ b/assets/js/f091cc2c.598f30bd.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[60215],{56592:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/9","page":9,"postsPerPage":10,"totalPages":9,"totalCount":87,"previousPage":"/blog/page/8","nextPage":null,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/f091cc2c.f249840c.js b/assets/js/f091cc2c.f249840c.js
deleted file mode 100644
index 8cb8218..0000000
--- a/assets/js/f091cc2c.f249840c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[60215],{56592:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/9","page":9,"postsPerPage":10,"totalPages":9,"totalCount":86,"previousPage":"/blog/page/8","nextPage":null,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/main.12098c32.js b/assets/js/main.12098c32.js
deleted file mode 100644
index 4abd540..0000000
--- a/assets/js/main.12098c32.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.12098c32.js.LICENSE.txt */
-(self.webpackChunk=self.webpackChunk||[]).push([[40179],{99782:function(e,n,i){"use strict";i.r(n),n.default={title:"Apache APISIX\xae -- Cloud-Native API Gateway",tagline:"Apache APISIX is a dynamic, real-time, high-performance Cloud-Native API gateway, based on the Nginx library and etcd.",url:"https://apisix.apache.org",baseUrl:"/",organizationName:"Apache",projectName:"apisix-website",favicon:"img/favicon.png",customFields:{tagline2:"Apache APISIX software provides rich traffic manag [...]
\ No newline at end of file
diff --git a/assets/js/main.235860ce.js b/assets/js/main.235860ce.js
new file mode 100644
index 0000000..c87e9b6
--- /dev/null
+++ b/assets/js/main.235860ce.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.235860ce.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.5e794a40.js.LICENSE.txt b/assets/js/main.235860ce.js.LICENSE.txt
similarity index 100%
rename from zh/assets/js/main.5e794a40.js.LICENSE.txt
rename to assets/js/main.235860ce.js.LICENSE.txt
diff --git a/assets/js/runtime~main.9b9ef40f.js b/assets/js/runtime~main.9b9ef40f.js
deleted file mode 100644
index baeee57..0000000
--- a/assets/js/runtime~main.9b9ef40f.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(){"use strict";var e,c,b,f,d={},a={};function t(e){var c=a[e];if(void 0!==c)return c.exports;var b=a[e]={id:e,loaded:!1,exports:{}};return d[e].call(b.exports,b,b.exports,t),b.loaded=!0,b.exports}t.m=d,t.c=a,e=[],t.O=function(c,b,f,d){if(!b){var a=1/0;for(u=0;u<e.length;u++){b=e[u][0],f=e[u][1],d=e[u][2];for(var n=!0,r=0;r<b.length;r++)(!1&d||a>=d)&&Object.keys(t.O).every((function(e){return t.O[e](b[r])}))?b.splice(r--,1):(n=!1,d<a&&(a=d));if(n){e.splice(u--,1);var o=f();void [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.d4a70b30.js b/assets/js/runtime~main.d4a70b30.js
new file mode 100644
index 0000000..a2d6853
--- /dev/null
+++ b/assets/js/runtime~main.d4a70b30.js
@@ -0,0 +1 @@
+!function(){"use strict";var e,c,f,b,d={},a={};function t(e){var c=a[e];if(void 0!==c)return c.exports;var f=a[e]={id:e,loaded:!1,exports:{}};return d[e].call(f.exports,f,f.exports,t),f.loaded=!0,f.exports}t.m=d,t.c=a,e=[],t.O=function(c,f,b,d){if(!f){var a=1/0;for(u=0;u<e.length;u++){f=e[u][0],b=e[u][1],d=e[u][2];for(var n=!0,r=0;r<f.length;r++)(!1&d||a>=d)&&Object.keys(t.O).every((function(e){return t.O[e](f[r])}))?f.splice(r--,1):(n=!1,d<a&&(a=d));if(n){e.splice(u--,1);var o=b();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 7e5ce82..45dd569 100644
--- a/blog/2020/12/11/beike-how-to-build-gateway-based-on-apache-apisix/index.html
+++ b/blog/2020/12/11/beike-how-to-build-gateway-based-on-apache-apisix/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">贝壳找房:如何基于 Apache APISIX 搭建网关 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 a25d287..83ad13b 100644
--- a/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
+++ b/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Envoy and Apache APISIX: Another way to implement the Envoy filter | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><me [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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'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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 d76e3f3..08d7c5a 100644
--- a/blog/2020/12/18/first-look-at-kubernetes-service-api/index.html
+++ b/blog/2020/12/18/first-look-at-kubernetes-service-api/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">A First Look at Kubernetes Service APIs | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 2c6ae0d..ff660f9 100644
--- a/blog/2021/01/11/interview-Apache-APISIX-contributor-Wang-Pengcheng-Senior-Security-Advisor-of-PwC-South-China-Data-Security-and-Privacy-Protection-Team/index.html
+++ b/blog/2021/01/11/interview-Apache-APISIX-contributor-Wang-Pengcheng-Senior-Security-Advisor-of-PwC-South-China-Data-Security-and-Privacy-Protection-Team/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Contributor Interview | Pengcheng Wang, Senior Security Consultant, PricewaterhouseCoopers China Data Security & Privacy Team | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 45bd2cf..5ed6f50 100644
--- a/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
+++ b/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Run Ingress APISIX on Amazon EKS | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" proper [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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">"headers"</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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 ed9c9b5..e9cf3ee 100644
--- a/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
+++ b/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
@@ -16,16 +16,16 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stable Product Delivery with Cypress | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" pr [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 a1c82f4..71f8f5d 100644
--- a/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
+++ b/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Apache APISIX from Helm Charts | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 328364a..41a2540 100644
--- a/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html
+++ b/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Get Front-End Test Coverage with Cypress | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 646a589..5741f9b 100644
--- a/blog/2021/05/24/Tencent-Games/index.html
+++ b/blog/2021/05/24/Tencent-Games/index.html
@@ -16,18 +16,18 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">支持 10 亿日流量的基础设施:当 Apahce APISIX 遇上腾讯 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" pr [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 951a417..b6b983e 100644
--- a/blog/2021/05/25/Apache APISIX 2.6.0-Release/index.html
+++ b/blog/2021/05/25/Apache APISIX 2.6.0-Release/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 2.6.0-Release Officially Released | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helme [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 bf06bc9..dff552e 100644
--- a/blog/2021/06/03/experience-share-from-Apache-APISIX-committer/index.html
+++ b/blog/2021/06/03/experience-share-from-Apache-APISIX-committer/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Experience sharing from Apache APISIX committer - Interview with Summer of Programming | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/ap [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 08fbc9c..9cf9f98 100644
--- a/blog/2021/06/06/apisix-two-years/index.html
+++ b/blog/2021/06/06/apisix-two-years/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Open Source 2 Year Anniversary! | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 e74a0a4..f0920b4 100644
--- a/blog/2021/06/07/Apache-APISIX-not-affected-by-NGINX-CVE-2021-23017/index.html
+++ b/blog/2021/06/07/Apache-APISIX-not-affected-by-NGINX-CVE-2021-23017/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX not affected by NGINX CVE-2021-23017 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-he [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 ed1a7c2..04eb8d4 100644
--- a/blog/2021/06/10/Apache-APISIX-and-Envoy-performance-comparison/index.html
+++ b/blog/2021/06/10/Apache-APISIX-and-Envoy-performance-comparison/index.html
@@ -16,17 +16,17 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX v.s Envoy: Which Has the Better Performance? | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data- [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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 "1234567890";</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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 ff6b76e..e02a8e7 100644
--- a/blog/2021/06/16/Chaos-Mesh-helps-Apache-APISIX-improve-stability/index.html
+++ b/blog/2021/06/16/Chaos-Mesh-helps-Apache-APISIX-improve-stability/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Chaos Mesh Helps Apache APISIX Improve Stability | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helm [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 d92057f..abc5610 100644
--- a/blog/2021/06/17/Apache-APISIX-Dashboard-Access-Control-Bypass-Vulnerability-Announcement/index.html
+++ b/blog/2021/06/17/Apache-APISIX-Dashboard-Access-Control-Bypass-Vulnerability-Announcement/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Dashboard Access Control Bypass Vulnerability Advisory (CVE-2021-33190) | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apa [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 a928dbf..ff3e330 100644
--- a/blog/2021/06/18/first-GA-version-v1.0-of-Apache-APISIX-Ingress-Controller-released/index.html
+++ b/blog/2021/06/18/first-GA-version-v1.0-of-Apache-APISIX-Ingress-Controller-released/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">The first GA release of Apache APISIX Ingress Controller v1.0 is now available! | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-ap [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 da8748c..cde5d49 100644
--- a/blog/2021/06/21/use-Java-to-write-Apache-APISIX-plugins/index.html
+++ b/blog/2021/06/21/use-Java-to-write-Apache-APISIX-plugins/index.html
@@ -16,12 +16,12 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How to Write an Apache APISIX Plugin in Java | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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("rejected_code");</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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 6febe91..24f0dcf2 100644
--- a/blog/2021/06/23/deploy-great-open-source-gateway-and-ingress-controller-fast/index.html
+++ b/blog/2021/06/23/deploy-great-open-source-gateway-and-ingress-controller-fast/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Deploy Apache APISIX and Apache APISIX Ingress Controller on Rancher | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png">< [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 5964f2e..8f3205b 100644
--- a/blog/2021/06/28/why-we-need-Apache-APISIX/index.html
+++ b/blog/2021/06/28/why-we-need-Apache-APISIX/index.html
@@ -16,16 +16,16 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Why do you need Apache APISIX when you have NGINX and Kong? | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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 "OpenResty Best Practices" 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'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't been together since this year, and this is the most together we've had so far this year (but there are still a few students who didn'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's start with the history of back-end architecture evolution. First, let'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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 8746fc3..c1a2499 100644
--- a/blog/2021/06/29/release-apache-apisix-2.7/index.html
+++ b/blog/2021/06/29/release-apache-apisix-2.7/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.7.0 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="o [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 a5b93b7..95bdec1 100644
--- a/blog/2021/06/30/etcd3-support-HTTP-access-perfectly/index.html
+++ b/blog/2021/06/30/etcd3-support-HTTP-access-perfectly/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Does etcd 3 Support HTTP Access Perfectly? | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="tr [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 9d68e0a..ca92dca 100644
--- a/blog/2021/07/06/celebrate-200-contributors/index.html
+++ b/blog/2021/07/06/celebrate-200-contributors/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX has over 200 contributors in GitHub main repo! | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta dat [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 7706082..2ad53d5 100644
--- a/blog/2021/07/14/the-road-to-customization-of-Sina-Weibo-API-gateway-based-on-Apache-APISIX/index.html
+++ b/blog/2021/07/14/the-road-to-customization-of-Sina-Weibo-API-gateway-based-on-Apache-APISIX/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">The Road to Customized Development of Sina Weibo API Gateway | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta dat [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 a9e60be..5a4d863 100644
--- a/blog/2021/07/21/Apache-APISIX-Kubernetes/index.html
+++ b/blog/2021/07/21/Apache-APISIX-Kubernetes/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX x Kubernetes: Just Right|Live | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="t [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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 "Kubernetes Hands-on" and "Docker Core Knowledge Must Know". 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 2ffd7eb..63f5d87 100644
--- a/blog/2021/07/25/apachecon-asia/index.html
+++ b/blog/2021/07/25/apachecon-asia/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ApacheCon Asia 2021: Apache APISIX Technical Topics | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 d069bdd..faa6e23 100644
--- a/blog/2021/07/27/use-of-plugin-orchestration-in-Apache-APISIX/index.html
+++ b/blog/2021/07/27/use-of-plugin-orchestration-in-Apache-APISIX/index.html
@@ -16,19 +16,19 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Applying Plugin Orchestration in Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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"> "uri": "/get",</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c"> "methods": ["GET"],</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">"script"</span><span class="token builtin class-name">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"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">"4-5-6"</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">"rule"</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">"ro [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 bc4b536..16995a9 100644
--- a/blog/2021/07/28/release-apache-apisix-2.8/index.html
+++ b/blog/2021/07/28/release-apache-apisix-2.8/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.8.0 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="o [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 bbe4364..3cecf2c 100644
--- a/blog/2021/08/05/Kong-to-APISIX/index.html
+++ b/blog/2021/08/05/Kong-to-APISIX/index.html
@@ -16,19 +16,19 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Kong-To-APISIX Migration Tool | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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'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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 9378d13..776ba89 100644
--- a/blog/2021/08/06/using-apache-apisix-to-improve-the-observability-of-nginx/index.html
+++ b/blog/2021/08/06/using-apache-apisix-to-improve-the-observability-of-nginx/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How to Improve the Observability of Nginx with Apache APISX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 5c159cf..2b01e83 100644
--- a/blog/2021/08/09/Apache-APISIX-in-China-Mobile-Cloud/index.html
+++ b/blog/2021/08/09/Apache-APISIX-in-China-Mobile-Cloud/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 在移动云的应用 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 9464bcf..4374952 100644
--- a/blog/2021/08/09/Apache-APISIX-in-Quliankeji/index.html
+++ b/blog/2021/08/09/Apache-APISIX-in-Quliankeji/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Abandoning Kong and Nginx, Hyperchain Technology implements on its BaaS platform | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-a [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 923edd9..e92b57c 100644
--- a/blog/2021/08/10/apisix-nginx/index.html
+++ b/blog/2021/08/10/apisix-nginx/index.html
@@ -16,12 +16,12 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Architecture Analysis: How to Dynamically Manage Nginx Clustering? | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-a [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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, "/", 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 a93263d..f717b08 100644
--- a/blog/2021/08/11/interview-TuZhengsong/index.html
+++ b/blog/2021/08/11/interview-TuZhengsong/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">I issued my first PR in the Apache APISIX community | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 1568d15..f7ed746 100644
--- a/blog/2021/08/12/Chaos-Mesh-Helps-Apache-APISIX-Improve-System-Stability/index.html
+++ b/blog/2021/08/12/Chaos-Mesh-Helps-Apache-APISIX-Improve-System-Stability/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Chaos Mesh Helps Apache APISIX Improve System Stability | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-rea [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 d6fddce..50eba78 100644
--- a/blog/2021/08/14/contributors-the-golden-metric-of-openSource-projects/index.html
+++ b/blog/2021/08/14/contributors-the-golden-metric-of-openSource-projects/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Contributors — The Golden Metric of OpenSource Projects | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-rea [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 1888c07..d8a0010 100644
--- a/blog/2021/08/16/Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication/index.html
+++ b/blog/2021/08/16/Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication/index.html
@@ -16,18 +16,18 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Using the Apache APISIX OpenID Connect Plugin for Okta Centralized Authentication | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache- [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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 "OIDC-OpenID Connect" for the Sign-in method, and select "Web Application" 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 "Sign-in redirect URIs" are links a user can go to after a successful login, and the "Sign-out redirect URIs" 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 "Save" 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's Okta account and click "Sign In" to log in to your Okta account.</li><li>After successful login, you can access the get page in "httpbin.org". The "httpbin.org/get" 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 a50ed6c..0537a97 100644
--- a/blog/2021/08/17/interview-airwallex/index.html
+++ b/blog/2021/08/17/interview-airwallex/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX in Airwallex | Interview with Yang Li, Head of Airwallex Technology Platform | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/im [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 e489775..6ec40ac 100644
--- a/blog/2021/08/18/Auth-with-Casbin-in-Apache-APISIX/index.html
+++ b/blog/2021/08/18/Auth-with-Casbin-in-Apache-APISIX/index.html
@@ -16,12 +16,12 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Licensing with Casbin in Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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'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)) && keyMatch(r.obj, p.obj) && keyMatch(r.act, p.act)",</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"> "policy": "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",</span></span><span class="token-line" style="color: [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c"> "username": "user"</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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 6040657..75a2f9d 100644
--- a/blog/2021/08/19/go-makes-Apache-APISIX-better/index.html
+++ b/blog/2021/08/19/go-makes-Apache-APISIX-better/index.html
@@ -16,16 +16,16 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Go gives Apache APISIX a run for its money | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="tr [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 0ffc14e..ba7944c 100644
--- a/blog/2021/08/19/weekly-report/index.html
+++ b/blog/2021/08/19/weekly-report/index.html
@@ -16,12 +16,12 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 社区周报 | 08-09 ~ 08-15 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" prop [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 d7d47b1..0478764 100644
--- a/blog/2021/08/21/shanghai-meetup/index.html
+++ b/blog/2021/08/21/shanghai-meetup/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">August 21 Apache APISIX Meetup Shanghai, welcome to register! | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta da [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 b700f91..eb83228 100644
--- a/blog/2021/08/23/ApacheCon-Asia-2021/index.html
+++ b/blog/2021/08/23/ApacheCon-Asia-2021/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ApacheCon Asia 2021 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" c [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 8a94952..f3d24cc 100644
--- a/blog/2021/08/23/weekly-report/index.html
+++ b/blog/2021/08/23/weekly-report/index.html
@@ -16,12 +16,12 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 社区周报 | 2021 8.16-8.22 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" pro [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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==&mid=2247486406&idx=1&sn=5d04353f3d8128f17fca138572667ddb&chksm=e98160dbdef6e9cd19ddeed4267554a15bcd1a10decfa2c16f2989575bd9a1c9c95349b0c0cc&token=1586118041&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==&mid=2247486382&idx=1&sn=f041eb8c38dd528450e5bf4280b60b0f&chksm=e98160b3def6e9a5331f9485d8a478f9546475f949a31f8142c4188d9c104d39eec9a281bbf2&token=1586118041&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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 cd227c2..18aa732 100644
--- a/blog/2021/08/24/shanghai-meetup-recap/index.html
+++ b/blog/2021/08/24/shanghai-meetup-recap/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Meetup in Shanghai | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" proper [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 d0c53d8..0d07897 100644
--- a/blog/2021/08/25/Auth-with-Casbin-in-Apache-APISIX/index.html
+++ b/blog/2021/08/25/Auth-with-Casbin-in-Apache-APISIX/index.html
@@ -16,12 +16,12 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Authorization with Casbin in Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="tr [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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)) && keyMatch(r.obj, p.obj) && keyMatch(r.act, p.act)",</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"> "policy": "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",</span></span><span class="token-line" style="color: [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c"> "username": "user"</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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 d565b0f..6021f35 100644
--- a/blog/2021/08/25/Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication/index.html
+++ b/blog/2021/08/25/Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication/index.html
@@ -16,18 +16,18 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Centralized authentication using the OpenID Connect plug-in for Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apis [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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 "Sign-in redirect URIs" are the links that are allowed to be redirected after successful login, and the "Sign-out redirect URIs" 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 "Save" 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 1fc7bb8..9c62ca0 100644
--- a/blog/2021/08/25/Why-Apache-APISIX-chose-Nginx-and-Lua/index.html
+++ b/blog/2021/08/25/Why-Apache-APISIX-chose-Nginx-and-Lua/index.html
@@ -16,16 +16,16 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Why Apache APISIX chose Nginx and Lua to build API Gateway | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data- [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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], " ", map[text[i]], "\n")</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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 afe715d..731c244 100644
--- a/blog/2021/08/27/release-apache-apisix-2.9/index.html
+++ b/blog/2021/08/27/release-apache-apisix-2.9/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.9 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og: [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 2727e7c..166b898 100644
--- a/blog/2021/08/30/Ingress-Meeting/index.html
+++ b/blog/2021/08/30/Ingress-Meeting/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Webinar| See you at the Apache APISIX Ingress Community Meeting on Wednesday at 2pm! | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apac [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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'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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 d0574ad..b744e31 100644
--- a/blog/2021/08/30/weekly-report/index.html
+++ b/blog/2021/08/30/weekly-report/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Community Weekly Report | 2021 8.23-8.29 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-reac [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 5849940..8c72566 100644
--- "a/blog/2021/08/31/Apache APISIX \303\227 KubeSphere-a-better-gateway-and-K8S-Ingress-Controller/index.html"
+++ "b/blog/2021/08/31/Apache APISIX \303\227 KubeSphere-a-better-gateway-and-K8S-Ingress-Controller/index.html"
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX × KubeSphere: Providing a better gateway and K8S Ingress Controller | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache- [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 09e878a..e7fc886 100644
--- a/blog/2021/09/06/python-helps-you-quickly-with-Apache-APISIX-development/index.html
+++ b/blog/2021/09/06/python-helps-you-quickly-with-Apache-APISIX-development/index.html
@@ -16,12 +16,12 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Python helps you develop Apache APISIX plugin | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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'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'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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 bf876b0..7f36650 100644
--- a/blog/2021/09/07/how-to-use-apisix-auth/index.html
+++ b/blog/2021/09/07/how-to-use-apisix-auth/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Centralized Authentication with Apache APISIX and Advanced Tricks | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><met [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 476ee28..df3a1fa 100644
--- a/blog/2021/09/07/iQIYI-usercase/index.html
+++ b/blog/2021/09/07/iQIYI-usercase/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Based on Apache APISIX, iQIYI API Gateway Update and landing practice | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"> [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 ddc7b45..d7ebf56 100644
--- a/blog/2021/09/09/how-to-contribute-to-an-OpenSource-without-coding/index.html
+++ b/blog/2021/09/09/how-to-contribute-to-an-OpenSource-without-coding/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How can I contribute to an open source project without writing code? | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png">< [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 3c68422..69544c8 100644
--- a/blog/2021/09/13/china-mobile-cloud-usercase/index.html
+++ b/blog/2021/09/13/china-mobile-cloud-usercase/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How Apache APISIX is implemented in China Mobile Cloud | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-reac [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 03e577a..0b86231 100644
--- a/blog/2021/09/14/youzan/index.html
+++ b/blog/2021/09/14/youzan/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX powers the Youzanyun native PaaS platform for comprehensive micro-service governance | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apach [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 2c99f25..1d88211 100644
--- a/blog/2021/09/15/weekly-report/index.html
+++ b/blog/2021/09/15/weekly-report/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Community Weekly|Two new committers, feature highlight updates in progress | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix. [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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 >= 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 0202530..bcf0f2b 100644
--- a/blog/2021/09/16/tencent-cloud/index.html
+++ b/blog/2021/09/16/tencent-cloud/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Implementing Apache APISIX in Tencent Cloud TI-ONE Platform | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 865081f..65c607c 100644
--- a/blog/2021/09/18/xiaodian-usercase/index.html
+++ b/blog/2021/09/18/xiaodian-usercase/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX helps DIAN to facilitate cloud native solution | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta dat [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 52aebd5..0a6a182 100644
--- a/blog/2021/09/24/youpaicloud-usercase/index.html
+++ b/blog/2021/09/24/youpaicloud-usercase/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Why is Apache APISIX Ingress a new option for building container gateways into the UPYUN? | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 b0682c9..ae447c9 100644
--- a/blog/2021/09/28/WPS-usercase/index.html
+++ b/blog/2021/09/28/WPS-usercase/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">WPS has teamed up with Apache APISIX to create a new gateway experience | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 6d06528..098b7b5 100644
--- a/blog/2021/09/29/release-apache-apisix-2.10/index.html
+++ b/blog/2021/09/29/release-apache-apisix-2.10/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.10.0 | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 e6231a1..3c2dbf6 100644
--- a/blog/2021/09/30/weekly-report/index.html
+++ b/blog/2021/09/30/weekly-report/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Community Weekly|New committer, feature highlight update in progress | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png">< [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 cc4fd0b..70785f9 100644
--- a/blog/2021/10/01/openEuler/index.html
+++ b/blog/2021/10/01/openEuler/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX community members help openEuler release first community innovation version | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 1fc056e..b3c14f2 100644
--- a/blog/2021/10/09/apisix-ingress-techblog/index.html
+++ b/blog/2021/10/09/apisix-ingress-techblog/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">A thoughtful tutorial to get started with Apache APISIX Ingress from concept to practice | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 d0eac6d..7ec4e6a 100644
--- a/blog/2021/10/13/celebrating-300-contributors-of-apisix/index.html
+++ b/blog/2021/10/13/celebrating-300-contributors-of-apisix/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">New milestone for the Apache APISIX community - over 300 contributors worldwide! | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-a [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 e5e6940..5136f19 100644
--- a/blog/2021/10/14/weekly-report-1014/index.html
+++ b/blog/2021/10/14/weekly-report-1014/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Community Weekly|10.1-10.14 Feature Highlight Updates in Progress | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><met [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 e78a58f..ba9d203 100644
--- a/blog/2021/10/18/meetup/index.html
+++ b/blog/2021/10/18/meetup/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Webinar | Apache APISIX × Apache SkyWalking Online Meetup | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-r [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 3c07990..0fab6a6 100644
--- a/blog/2021/10/22/cert-manager-in-ingress/index.html
+++ b/blog/2021/10/22/cert-manager-in-ingress/index.html
@@ -16,18 +16,18 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Tutorial: How to use Cert Manager to manage certificates in Apache APISIX Ingress Controller | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 db6b9c6..dc0fa9a 100644
--- a/blog/2021/10/26/APISIX-Ingress/index.html
+++ b/blog/2021/10/26/APISIX-Ingress/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">From 0 to 1, How APISIX Ingress Has Grown and Gained Since Joining The Community | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-a [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 62095fc..55ca6ee 100644
--- a/blog/2021/10/29/Extension-guide/index.html
+++ b/blog/2021/10/29/Extension-guide/index.html
@@ -16,12 +16,12 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Extensions Guide | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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("consumers_key", 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 = "Invalid API key in request"}</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("balancer_tried_servers", 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 d10edfa..7e6a0f8 100644
--- a/blog/2021/11/02/weekly-report-1031/index.html
+++ b/blog/2021/11/02/weekly-report-1031/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Weekly Report|10.15-10.31 Feature Highlights Update in Progress | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 d70a35f..6ab8229 100644
--- a/blog/2021/11/03/airwallex-usercase/index.html
+++ b/blog/2021/11/03/airwallex-usercase/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How Apache APISIX protects Airwallex data sovereignty through the gateway layer | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-ap [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 fd92d04..5c11098 100644
--- a/blog/2021/11/04/skywalking/index.html
+++ b/blog/2021/11/04/skywalking/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">The observability of Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" prop [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 74be76b..448d489 100644
--- a/blog/2021/11/12/apisix-datadog/index.html
+++ b/blog/2021/11/12/apisix-datadog/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Cloud Monitoring with Datadog in Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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's why APISIX recommends using the standalone <code>datadog/dogstatsd</code> image instead of using the full agent. It [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 6007d30..a8f4d6e 100644
--- a/blog/2021/11/16/weekly-report-1114/index.html
+++ b/blog/2021/11/16/weekly-report-1114/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Weekly Report|11.1-11.14 Feature Highlights Update in Progress | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta d [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 b6ae793..01dd772 100644
--- a/blog/2021/11/17/dapr-with-apisix/index.html
+++ b/blog/2021/11/17/dapr-with-apisix/index.html
@@ -16,16 +16,16 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How to integrate with Dapr to build Apache APISIX Gateway Controller | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png">< [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/2021/11/19/apisix-supports-wasm/index.html b/blog/2021/11/19/apisix-supports-wasm/index.html
index 9d4c9e4..3b45a12 100644
--- a/blog/2021/11/19/apisix-supports-wasm/index.html
+++ b/blog/2021/11/19/apisix-supports-wasm/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX embraces the WASM ecosystem | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="tru [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
If a programming language provides the ability to compile to WASM bytecode, applications written in that language can be compiled to WASM bytecode and run in some WASM-enabled host environment.</p><p>Doesn't it sound like you can run any application like an operating system as long as the host environment supports WASM?</p><p>But there is a limitation here. Just like an operating system needs to implement a specific standard syscall, in order to run a specific application, you need [...]
These three approaches are very different in various aspects such as ecology and maturity. It just so happens that we can use them all for fault-injection, so we can compare them.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="step-1-configure-routing"></a>Step 1: Configure Routing<a class="hash-link" href="#step-1-configure-routing" title="Direct link to heading">#</a></h3><p>The Lua way of fault-injection, naturally, uses the [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/2021/11/22/develop-apisix-ingress-with-nocalhost-in-kubernetes/index.html b/blog/2021/11/22/develop-apisix-ingress-with-nocalhost-in-kubernetes/index.html
index f26e99a..72d092a 100644
--- a/blog/2021/11/22/develop-apisix-ingress-with-nocalhost-in-kubernetes/index.html
+++ b/blog/2021/11/22/develop-apisix-ingress-with-nocalhost-in-kubernetes/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Developing APISIX Ingress Controller with Nocalhost in Kubernetes | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><met [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/2021/11/23/cve-2021-43557-research-report/index.html b/blog/2021/11/23/cve-2021-43557-research-report/index.html
index 67ae79e..1872e04 100644
--- a/blog/2021/11/23/cve-2021-43557-research-report/index.html
+++ b/blog/2021/11/23/cve-2021-43557-research-report/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX request_uri variable is not properly controlled, with risk of path penetration | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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">kubectl </span><span class="token builtin class-name">exec</span><span class="token plain"> -it -n ingress-apisix apisix-dc9d99d76-vl5lh -- </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> --path-as-is http://127.0.0.1:9080</span><span class="token variable" style="color:#36acaa">$1</span><span class="token plain"> -H </span><span class="token string" styl [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/2021/11/23/cve-2021-43557/index.html b/blog/2021/11/23/cve-2021-43557/index.html
index 4d00052..97be069 100644
--- a/blog/2021/11/23/cve-2021-43557/index.html
+++ b/blog/2021/11/23/cve-2021-43557/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Path traversal in request_uri variable(CVE-2021-43557) | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png">< [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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> [...]
CVE details: <a href="https://nvd.nist.gov/vuln/detail/CVE-2021-43557" target="_blank" rel="noopener noreferrer">https://nvd.nist.gov/vuln/detail/CVE-2021-43557</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="contributor-profile"></a>Contributor Profile<a class="hash-link" href="#contributor-profile" title="Direct link to heading">#</a></h2><p>The vulnerability was discovered by community user Marcin Niemiec (GitHub<a href="h [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/2021/11/26/apache-apisix-committer-experience/index.html b/blog/2021/11/26/apache-apisix-committer-experience/index.html
index f9cd604..d3c12a8 100644
--- a/blog/2021/11/26/apache-apisix-committer-experience/index.html
+++ b/blog/2021/11/26/apache-apisix-committer-experience/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Contributer to Committer journey @Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helme [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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> [...]
I am <strong>Shivam Singh</strong>, an undergraduate student from <strong>Indian Institute of Information Technology, Una, India</strong>. I recently became a <strong>Committer at Apache APISIX</strong>, and hence a <strong>member of the Apache Software Foundation</strong>. I'm a Full-stack Engineer and Product designer who believes that every great product is a culmination of Engineering & Design with a blend of art to bring visual delight while effectively & efficiently so [...]
<a href="mailto:singhsh@apache.org" target="_blank" rel="noopener noreferrer">Mail</a>, <a href="https://github.com/1502shivam-singh/" target="_blank" rel="noopener noreferrer">GitHub</a>, <a href="https://twitter.com/Shivam15_" target="_blank" rel="noopener noreferrer">Twitter</a></p></blockquote></div><footer class="row docusaurus-mt-lg blogPostDetailsFull_3kfx"><div class="col"><b>Tags:</b><ul class="tags_2ga9 padding--none margin-left--sm"><li class="tag_11ep"><a class="tag_1Okp tagR [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/2021/11/30/use-apisix-ingress-in-kubesphere/index.html b/blog/2021/11/30/use-apisix-ingress-in-kubesphere/index.html
index 4c2ba39..c573dd7 100644
--- a/blog/2021/11/30/use-apisix-ingress-in-kubesphere/index.html
+++ b/blog/2021/11/30/use-apisix-ingress-in-kubesphere/index.html
@@ -16,12 +16,12 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Using Apache APISIX Ingress Gateway to access Custom Monitoring in KubeSphere | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apis [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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">nameOverride</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">''</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="colo [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">gateway</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">type</span><span class="token punctuation" style="color:#393A34">:</span><span class="token pl [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">admin</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">enabled</span><span class="token punctuation" style="color:#393A34">:</span><span class="token p [...]
@@ -33,8 +33,8 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">configurationSnippet</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">main</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 key atrule" style="color:#00a4db">etcd</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">enabled</span><span class="token punctuation" style="color:#393A34">:</span><span class="token pl [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">dashboard</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">enabled</span><span class="token punctuation" style="color:#393A34">:</span><span class="tok [...]
-</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">ingress-controller</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">enabled</span><span class="token punctuation" style="color:#393A34">:</span><span c [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">ingress-controller</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">enabled</span><span class="token punctuation" style="color:#393A34">:</span><span c [...]
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/2021/12/01/apisix-supports-azure-functions/index.html b/blog/2021/12/01/apisix-supports-azure-functions/index.html
new file mode 100644
index 0000000..bae702a
--- /dev/null
+++ b/blog/2021/12/01/apisix-supports-azure-functions/index.html
@@ -0,0 +1,34 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.6">
+<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
+<link rel="preconnect" href="https://www.google-analytics.com">
+<link rel="preconnect" href="https://www.googletagmanager.com">
+<script async src="https://www.googletagmanager.com/gtag/js?id=G-WQLBQL6GY3"></script>
+<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-WQLBQL6GY3",{})</script>
+<link rel="search" type="application/opensearchdescription+xml" title="Apache APISIX® -- Cloud-Native API Gateway" href="/opensearch.xml">
+<link rel="alternate" type="application/rss+xml" href="/releases/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
+<link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
+<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
+<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX's intergration with Azure Serverless | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-rea [...]
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
+</head>
+<body>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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/1638349069240-911b8640-2de6-4f82-b75b-fb937b0bad40.png" alt="create a resource group"></li><li>Create a function app with the URL of your choice (I am going to pick test-apisix).
+<img src="https://static.apiseven.com/202108/1638349121520-01abe8e6-bc09-4be7-b010-f7baec59f89a.png" alt="create a function app"></li></ol></li><li><p>Install the <a href="https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions" target="_blank" rel="noopener noreferrer">Azure Functions extension</a> into VSCode editor. Upon installation, authenticate via extension and install the azure function core tool for local development with:</p><div class="codeBlock [...]
+</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> name </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> req</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">query</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-a [...]
+</span></span><span class="token-line" style="color:#393A34"><span class="token plain">context</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">res</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span c [...]
+</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Hello, Bisakh</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Considering, Apache APISIX is also running with <code>enable_http2: true</code> on <a href="https://github.com/apache/apisix/blob/master/conf/config-default.yaml#L26" target="_blank" rel="noopener noreferrer">config-default.yaml</a> for port 908 [...]
+</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Hello, Bisakh</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="deactivate-the-azure-functions-plugin"></a>Deactivate the azure-functions plugin<a class="hash-link" href="#deactivate-the-azure-functions-plugi [...]
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/blog/2021/12/02/weekly-report-1130/index.html b/blog/2021/12/02/weekly-report-1130/index.html
index 6994494..ac03f72 100644
--- a/blog/2021/12/02/weekly-report-1130/index.html
+++ b/blog/2021/12/02/weekly-report-1130/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Biweekly Report|11.15-11.30 Feature Highlights Update in Progress | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><met [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/archive/index.html b/blog/archive/index.html
index 0ff75e8..f81536c 100644
--- a/blog/archive/index.html
+++ b/blog/archive/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Archive | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Archive | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/atom.xml b/blog/atom.xml
index 9cd62c2..34ca1e6 100644
--- a/blog/atom.xml
+++ b/blog/atom.xml
@@ -15,6 +15,17 @@
<summary type="html"><![CDATA[The Apache APISIX Community Weekly Report hopes to help community members better understand the weekly progress of the Apache APISIX community and and facilitate everyone to participate in the Apache APISIX community.]]></summary>
</entry>
<entry>
+ <title type="html"><![CDATA[Apache APISIX's intergration with Azure Serverless]]></title>
+ <id>Apache APISIX's intergration with Azure Serverless</id>
+ <link href="https://apisix.apache.org/blog/2021/12/01/apisix-supports-azure-functions"/>
+ <updated>2021-12-01T00:00:00.000Z</updated>
+ <summary type="html"><![CDATA[This article talks about the recent addition of a new plugin `azure-functions`, and gives detailed instructions on how to integrate Azure Functions, which is a widely used serverless solution, into the Apache APISIX serverless suite.]]></summary>
+ <author>
+ <name>Bisakh Mondal</name>
+ <uri>https://github.com/bisakhmondal</uri>
+ </author>
+ </entry>
+ <entry>
<title type="html"><![CDATA[Using Apache APISIX Ingress Gateway to access Custom Monitoring in KubeSphere]]></title>
<id>Using Apache APISIX Ingress Gateway to access Custom Monitoring in KubeSphere</id>
<link href="https://apisix.apache.org/blog/2021/11/30/use-apisix-ingress-in-kubesphere"/>
diff --git a/blog/index.html b/blog/index.html
index 1d70be9..17a9c76 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 52bcef2..7be1e99 100644
--- a/blog/page/2/index.html
+++ b/blog/page/2/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 d23e379..8a2d83e 100644
--- a/blog/page/3/index.html
+++ b/blog/page/3/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 e70e083..dd26200 100644
--- a/blog/page/4/index.html
+++ b/blog/page/4/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 3c1ba54..3385ece 100644
--- a/blog/page/5/index.html
+++ b/blog/page/5/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 11a2fd2..9580cfc 100644
--- a/blog/page/6/index.html
+++ b/blog/page/6/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 fafa92e..a8bfdc6 100644
--- a/blog/page/7/index.html
+++ b/blog/page/7/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 ee49b76..f0878f0 100644
--- a/blog/page/8/index.html
+++ b/blog/page/8/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/page/9/index.html b/blog/page/9/index.html
index 69aecb4..b8dbfd6 100644
--- a/blog/page/9/index.html
+++ b/blog/page/9/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/rss.xml b/blog/rss.xml
index 1f00fe4..0941921 100644
--- a/blog/rss.xml
+++ b/blog/rss.xml
@@ -15,6 +15,13 @@
<description><![CDATA[The Apache APISIX Community Weekly Report hopes to help community members better understand the weekly progress of the Apache APISIX community and and facilitate everyone to participate in the Apache APISIX community.]]></description>
</item>
<item>
+ <title><![CDATA[Apache APISIX's intergration with Azure Serverless]]></title>
+ <link>https://apisix.apache.org/blog/2021/12/01/apisix-supports-azure-functions</link>
+ <guid>Apache APISIX's intergration with Azure Serverless</guid>
+ <pubDate>Wed, 01 Dec 2021 00:00:00 GMT</pubDate>
+ <description><![CDATA[This article talks about the recent addition of a new plugin `azure-functions`, and gives detailed instructions on how to integrate Azure Functions, which is a widely used serverless solution, into the Apache APISIX serverless suite.]]></description>
+ </item>
+ <item>
<title><![CDATA[Using Apache APISIX Ingress Gateway to access Custom Monitoring in KubeSphere]]></title>
<link>https://apisix.apache.org/blog/2021/11/30/use-apisix-ingress-in-kubesphere</link>
<guid>Using Apache APISIX Ingress Gateway to access Custom Monitoring in KubeSphere</guid>
diff --git a/blog/tags/community/index.html b/blog/tags/community/index.html
index c383646..f131318 100644
--- a/blog/tags/community/index.html
+++ b/blog/tags/community/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">3 posts tagged with "Community" | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="3 posts tagged with "Community" | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-ap [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 ee176d9..3a1fd39 100644
--- a/blog/tags/events/index.html
+++ b/blog/tags/events/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">19 posts tagged with "Events" | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="19 posts tagged with "Events" | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/blog/tags/index.html b/blog/tags/index.html
index ec87752..f393fab 100644
--- a/blog/tags/index.html
+++ b/blog/tags/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Tags | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Tags | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 c8f459e..79c13f3 100644
--- a/blog/tags/interview/index.html
+++ b/blog/tags/interview/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">5 posts tagged with "Interview" | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="5 posts tagged with "Interview" | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-ap [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 6256e94..f2c2fab 100644
--- a/blog/tags/practical-case/index.html
+++ b/blog/tags/practical-case/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">16 posts tagged with "Practical Case" | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="16 posts tagged with "Practical Case" | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/i [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 e31583b..5ba9df4 100644
--- a/blog/tags/release/index.html
+++ b/blog/tags/release/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">7 posts tagged with "Release" | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="7 posts tagged with "Release" | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 6a57728..164a511 100644
--- a/blog/tags/security/index.html
+++ b/blog/tags/security/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">3 posts tagged with "Security" | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="3 posts tagged with "Security" | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apis [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 f015f72..7fefafe 100644
--- a/blog/tags/technology/index.html
+++ b/blog/tags/technology/index.html
@@ -15,14 +15,14 @@
<link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">21 posts tagged with "Technology" | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="21 posts tagged with "Technology" | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apach [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">22 posts tagged with "Technology" | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="22 posts tagged with "Technology" | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apach [...]
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 39c999b..3ce946b 100644
--- a/blog/tags/user-case/index.html
+++ b/blog/tags/user-case/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">12 posts tagged with "User Case" | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="12 posts tagged with "User Case" | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache- [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.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.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/contribute/ContributeCard/index.html b/contribute/ContributeCard/index.html
index d04ae42..2cc2eb3 100644
--- a/contribute/ContributeCard/index.html
+++ b/contribute/ContributeCard/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true"></title><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/css/styles.4ccf253e.css">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div class="ContributeCard__Card-sc-14oe329-0 cibYed"><div class="ContributeCard__ProjectTitle-sc-14oe329-1 avFYQ"><p class="ContributeCard__Title-sc-14oe329-2 hsAYBj"></p><div class="ContributeCard__Issue-sc-14oe329-3 bdczRa">0 issues</div></div><div></div><div class="ContributeCard__ProjectDesc-sc-14oe329-4 dgkUIF"><div style="margin-right:1rem">Star: </div><div style="margin-right:1rem">Watch: </div><div style="margin-right:1rem">Fork: </div></div><div class="ContributeCard__List-sc-1 [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/contribute/index.html b/contribute/index.html
index 55b5063..b9bdb27 100644
--- a/contribute/index.html
+++ b/contribute/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.ap [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/FAQ/index.html b/docs/apisix/2.10/FAQ/index.html
index 0e70f8d..eab99c2 100644
--- a/docs/apisix/2.10/FAQ/index.html
+++ b/docs/apisix/2.10/FAQ/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https:// [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -34,7 +34,7 @@ See the <code>Hot reload</code> section in <a href="/docs/apisix/2.10/plugins">p
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ acme.sh --issue --staging -d demo.domain --renew-hook </span><span class="token string" style="color:#e3116c">"/root/.acme.sh/renew-hook-update-apisix.sh -h http://apisix-admin:port -p /root/.acme.sh/demo.domain/demo.domain.cer -k /root/.acme.sh/demo.domain/demo.domain.key -a xxxxxxxxxxxxx"</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><spa [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ acme.sh --renew --domain demo.domain</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Blog <a href="https://juejin.cn/post/6965778290619449351" target="_blank" rel="noopener noreferrer">https://juejin.cn/post/6965778290619449351</a> has detail setup.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-strip-route-prefix-for-path-matching"></a>How to strip route prefi [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/IGNORE_DOC/index.html b/docs/apisix/2.10/IGNORE_DOC/index.html
index ad20381..706cd86 100644
--- a/docs/apisix/2.10/IGNORE_DOC/index.html
+++ b/docs/apisix/2.10/IGNORE_DOC/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/admin-api/index.html b/docs/apisix/2.10/admin-api/index.html
index 06d83ae..a569207 100644
--- a/docs/apisix/2.10/admin-api/index.html
+++ b/docs/apisix/2.10/admin-api/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Admin API | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="ht [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -86,7 +86,7 @@ This feature requires APISIX to run on <a href="/docs/apisix/2.10/how-to-build#s
used when all the nodes with higher priority are unavailable or tried.</p><p>As the default priority is 0, we can configure nodes with negative priority as the backup.</p><p>For example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="tok [...]
Therefore, it is the backup of <code>127.0.0.1</code>.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="response-parameters-3"></a>Response Parameters<a class="hash-link" href="#response-parameters-3" title="Direct link to heading">#</a></h3><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7- [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://127.0.0.1:9080/apisix/admin/plugins/key-auth"</span><span class="token plain"> -H </span><span class="token string" style="color:#e3116c">'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1'</span><span class="token plain"></span> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/apisix/index.html b/docs/apisix/2.10/architecture-design/apisix/index.html
index 5af56ea..38ce72b 100644
--- a/docs/apisix/2.10/architecture-design/apisix/index.html
+++ b/docs/apisix/2.10/architecture-design/apisix/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
and keep other configurations as default. The configuration in <code>config.yaml</code> should be like this:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuati [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">etcd</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">host</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/consumer/index.html b/docs/apisix/2.10/architecture-design/consumer/index.html
index a32ecbf..8b6661b 100644
--- a/docs/apisix/2.10/architecture-design/consumer/index.html
+++ b/docs/apisix/2.10/architecture-design/consumer/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Consumer | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@
</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Use the <a href="/docs/apisix/2.10/plugins/consumer-restriction">consumer-restriction</a> plug-in to restrict the access of Jack to this API.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Repeated tests, all return 403; Jack is forbidden to access this API</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/hello -H </span><spa [...]
</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/architecture-design/consumer.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/debug-mode/index.html b/docs/apisix/2.10/architecture-design/debug-mode/index.html
index 319ad3e..b2096ac 100644
--- a/docs/apisix/2.10/architecture-design/debug-mode/index.html
+++ b/docs/apisix/2.10/architecture-design/debug-mode/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Mode | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If the information can not be delivered via HTTP response header, for example, the plugin is in stream
subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker re [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"> </ [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/global-rule/index.html b/docs/apisix/2.10/architecture-design/global-rule/index.html
index 2f2045f..ff3d1d2 100644
--- a/docs/apisix/2.10/architecture-design/global-rule/index.html
+++ b/docs/apisix/2.10/architecture-design/global-rule/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Global rule | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
We can register a global <a href="/docs/apisix/2.10/architecture-design/plugin">Plugin</a> with <code>GlobalRule</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/index.html b/docs/apisix/2.10/architecture-design/index.html
index ee35fac..110842e 100644
--- a/docs/apisix/2.10/architecture-design/index.html
+++ b/docs/apisix/2.10/architecture-design/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Architecture Design | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" c [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -42,7 +42,7 @@ will be merged into it. The same plugin in the plugin config will override one i
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If the information can be delivered via HTTP response header, for example, the plugin is in stream
subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker re [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"> </ [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/plugin-config/index.html b/docs/apisix/2.10/architecture-design/plugin-config/index.html
index 92b8f28..7ea31bb 100644
--- a/docs/apisix/2.10/architecture-design/plugin-config/index.html
+++ b/docs/apisix/2.10/architecture-design/plugin-config/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Config | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
bind it with a route directly.</p><p>For instance, you can do something like:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># create a plugin config</span><span class="token plain [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># bind it to route</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span><span class="token string" style="color: [...]
will be merged into it. The same plugin in the plugin config will override one in the <code>plugins</code>.</p><p>For example, when we configure a plugin config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="col [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/plugin/index.html b/docs/apisix/2.10/architecture-design/plugin/index.html
index 48f4271..be66967 100644
--- a/docs/apisix/2.10/architecture-design/plugin/index.html
+++ b/docs/apisix/2.10/architecture-design/plugin/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
then its execution will be skipped.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="hot-reload-in-stand-alone-mode"></a>Hot reload in stand-alone mode<a class="hash-link" href="#hot-reload-in-stand-alone-mode" title="Direct link to heading">#</a></h3><p>For stand-alone mode, see plugin related section in <a href="/docs/apisix/2.10/stand-alone">stand alone mode</a>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div c [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/route/index.html b/docs/apisix/2.10/architecture-design/route/index.html
index 5848042..fc97d21 100644
--- a/docs/apisix/2.10/architecture-design/route/index.html
+++ b/docs/apisix/2.10/architecture-design/route/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Route | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https: [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">"node"</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">"value"</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/router/index.html b/docs/apisix/2.10/architecture-design/router/index.html
index 9bfa3ef..5ef630b 100644
--- a/docs/apisix/2.10/architecture-design/router/index.html
+++ b/docs/apisix/2.10/architecture-design/router/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/script/index.html b/docs/apisix/2.10/architecture-design/script/index.html
index 5287cba..37854f5 100644
--- a/docs/apisix/2.10/architecture-design/script/index.html
+++ b/docs/apisix/2.10/architecture-design/script/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Script | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/service/index.html b/docs/apisix/2.10/architecture-design/service/index.html
index 99613a6..1f0d0da 100644
--- a/docs/apisix/2.10/architecture-design/service/index.html
+++ b/docs/apisix/2.10/architecture-design/service/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Service | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="http [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># create new Route and reference the service by id `200`</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/100 -H </span><s [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/101 -H </span><span class="token string" style="color:#e3116c">'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1'</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">'</span></span><span class="token-line" styl [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/architecture-design/upstream/index.html b/docs/apisix/2.10/architecture-design/upstream/index.html
index 37f7754..20cacc9 100644
--- a/docs/apisix/2.10/architecture-design/upstream/index.html
+++ b/docs/apisix/2.10/architecture-design/upstream/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Upstream | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/aws/index.html b/docs/apisix/2.10/aws/index.html
index b57c2d7..96eaefe 100644
--- a/docs/apisix/2.10/aws/index.html
+++ b/docs/apisix/2.10/aws/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Running APISIX in AWS with AWS CDK | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" prop [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -44,7 +44,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Non-authoritative answer:</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Name: apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Address: </span><span class="token number" style="color:#36acaa">44.224</span><span class="token plain">.124.213</span></span><sp [...]
<img src="https://cdn.jsdelivr.net/gh/apache/apisix@release/2.10/docs/assets/images/aws-define-service.png">
<img src="https://cdn.jsdelivr.net/gh/apache/apisix@release/2.10/docs/assets/images/aws-define-route.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="validation"></a>Validation<a class="hash-link" href="#validation" title="Direct link to heading">#</a></h2><p>OK. Let's test the <code>/index.php</code> on <code>{apiSix.ApiSixServiceServiceURL}/index.php</code></p><p><img src="https://cdn.jsdelivr.net/gh/apache/apisix@rel [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/batch-processor/index.html b/docs/apisix/2.10/batch-processor/index.html
index a018881..a0666e0 100644
--- a/docs/apisix/2.10/batch-processor/index.html
+++ b/docs/apisix/2.10/batch-processor/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Batch Processor | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conte [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ argument and the batch configuration as the second parameter.</p><div class="cod
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">if batch_processor then</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> batch_processor:push({hello='world'})</span></span><span class="token-line" style="color:#393A34"><span class="token plain">end</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Note: P [...]
The timer to flush the batch runs based on the <code>inactive_timeout</code> configuration. Thus, for optimal usage,
keep the <code>inactive_timeout</code> smaller than the <code>buffer_duration</code>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/batch-processor.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><pat [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/benchmark/index.html b/docs/apisix/2.10/benchmark/index.html
index 22f1f40..58776af 100644
--- a/docs/apisix/2.10/benchmark/index.html
+++ b/docs/apisix/2.10/benchmark/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Benchmark | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="ht [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class=
<img src="https://cdn.jsdelivr.net/gh/apache/apisix@release/2.10/docs/assets/images/flamegraph-1.jpg" alt="flamegraph-1"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class=" [...]
and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor anchor__h4 anchorWithHideOnScrollNavbar_3R7-" id="qps-1"></a>QPS<a class="hash-link" href="#qps-1" title="Direct link to heading">#</a></h4><p>The x-axis means the size of CPU core, and the y-axis is QPS.</p><p><img src="https://cdn.jsdelivr.net/gh/apache/apisix@release/2.10/docs/assets/images/benchmark-2.jpg" alt="benchmark-2"></p><h4><a aria-hidden="true" tabindex="-1" class="anchor anchor__h4 ancho [...]
<img src="https://cdn.jsdelivr.net/gh/apache/apisix@release/2.10/docs/assets/images/flamegraph-2.jpg" alt="flamegraph-2"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class=" [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/certificate/index.html b/docs/apisix/2.10/certificate/index.html
index 360ba28..739a9a7 100644
--- a/docs/apisix/2.10/certificate/index.html
+++ b/docs/apisix/2.10/certificate/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Certificate | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -37,7 +37,7 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/certificate.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 1 [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/control-api/index.html b/docs/apisix/2.10/control-api/index.html
index fa49855..8afb8df 100644
--- a/docs/apisix/2.10/control-api/index.html
+++ b/docs/apisix/2.10/control-api/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Control API | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ of fields like <code>consumer_schema</code> or <code>type</code>, it is depended
definition.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="get-v1healthcheck"></a>GET /v1/healthcheck<a class="hash-link" href="#get-v1healthcheck" title="Direct link to heading">#</a></h3><p>Introduced since <code>v2.3</code>.</p><p>Return current <a href="/docs/apisix/2.10/health-check">health check</a> status in the format below:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex="0" [...]
object with id 1 creates a health checker, the <code>src_type</code> is <code>upstreams</code> and the <code>src_id</code> is <code>1</code>.</li><li>name: the name of the health checker.</li><li>nodes: the target nodes of the health checker.</li><li>healthy_nodes: the healthy node known by the health checker.</li></ul><p>User can also use <code>/v1/healthcheck/$src_type/$src_id</code> can get the status of a health checker.</p><p>For example, <code>GET /v1/healthcheck/upstreams/1</code> [...]
Note that when you enable stream proxy, APISIX will run another Lua VM for the stream subsystem. It won't trigger a full GC in this Lua VM .</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="get-v1routes"></a>Get /v1/routes<a class="hash-link" href="#get-v1routes" title="Direct link to heading">#</a></h3><p>Introduced since <code>v3.0</code>.</p><p>Return all routes info in the format below:</p><div class="codeBlockContainer_K [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/customize-nginx-configuration/index.html b/docs/apisix/2.10/customize-nginx-configuration/index.html
index 4e7e6e0..883b5be 100644
--- a/docs/apisix/2.10/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.10/customize-nginx-configuration/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Customize Nginx configuration | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> location /ysec_status </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"> req_status_show;</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> allow 127.0.0.1;</span></span><span class="token-line" [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> chunked_transfer_encoding on;</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">http_server_configuration_snippet</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">|</span><span class="token scalar string" style="color:#e3116c"></span></span><span class="token-line" style="color:#393A34"><span class="token scalar [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/debug-function/index.html b/docs/apisix/2.10/debug-function/index.html
index 951d279..0c166a7 100644
--- a/docs/apisix/2.10/debug-function/index.html
+++ b/docs/apisix/2.10/debug-function/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/discovery/consul_kv/index.html b/docs/apisix/2.10/discovery/consul_kv/index.html
index 33a4f0e..4fe26bd 100644
--- a/docs/apisix/2.10/discovery/consul_kv/index.html
+++ b/docs/apisix/2.10/discovery/consul_kv/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consul_kv | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="ht [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
<img src="https://user-images.githubusercontent.com/548385/107141841-6ced3e00-6966-11eb-8aa4-bc790a4ad113.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="configuration-for-discovery-client"></a>Configuration for discovery client<a class="hash-link" href="#configuration-for-discovery-client" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_ [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"> -X PUT </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></span><span c [...]
To avoid confusion, use the full consul key url path as service name in practice.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="upstream-setting"></a>Upstream setting<a class="hash-link" href="#upstream-setting" title="Direct link to heading">#</a></h3><p>Here is an example of routing a request with a URL of "/*" to a service which named "<a href="http://127.0.0.1:8500/v1/kv/upstreams/webpages/%22" target="_blank [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/discovery/dns/index.html b/docs/apisix/2.10/discovery/dns/index.html
index 9375fa7..1457346 100644
--- a/docs/apisix/2.10/discovery/dns/index.html
+++ b/docs/apisix/2.10/discovery/dns/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https:// [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -33,7 +33,7 @@ noisy). In the presence of records containing weights greater
than 0, records with weight 0 should have a very small chance of
being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node "have a very small chance of
being selected", which is also the common way to treat this type of record.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/discovery/dns.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m3 [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/discovery/eureka/index.html b/docs/apisix/2.10/discovery/eureka/index.html
index 8554708..3727873 100644
--- a/docs/apisix/2.10/discovery/eureka/index.html
+++ b/docs/apisix/2.10/discovery/eureka/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">eureka | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
reading from <a href="/docs/apisix/2.10/discovery#supported-discovery-registries">Supported discovery registries</a>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/discovery/eureka.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/discovery/index.html b/docs/apisix/2.10/discovery/index.html
index 4031e25..b743b81 100644
--- a/docs/apisix/2.10/discovery/index.html
+++ b/docs/apisix/2.10/discovery/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Integration service discovery registry | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -33,7 +33,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">"node"</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">"value"</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">'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1'</span><span class="token plain"> -X PUT -i -d </span><span class="token string" style="color:#e3116c">'</span></span><span class="token-line" s [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/discovery/nacos/index.html b/docs/apisix/2.10/discovery/nacos/index.html
index eaddf23..19996a5 100644
--- a/docs/apisix/2.10/discovery/nacos/index.html
+++ b/docs/apisix/2.10/discovery/nacos/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">nacos | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https: [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/dns/index.html b/docs/apisix/2.10/dns/index.html
index f1ddaf1..185cc4d 100644
--- a/docs/apisix/2.10/dns/index.html
+++ b/docs/apisix/2.10/dns/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https:// [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ noisy). In the presence of records containing weights greater
than 0, records with weight 0 should have a very small chance of
being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node "have a very small chance of
being selected", which is also the common way to treat this type of record.</p><p>TODO: support priority.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/dns.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden=" [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/examples/plugins-hmac-auth-generate-signature/index.html b/docs/apisix/2.10/examples/plugins-hmac-auth-generate-signature/index.html
index 83c5c49..bc706dd 100644
--- a/docs/apisix/2.10/examples/plugins-hmac-auth-generate-signature/index.html
+++ b/docs/apisix/2.10/examples/plugins-hmac-auth-generate-signature/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HMAC Generate Signature Examples | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" proper [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -56,7 +56,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">--to base64</span></span><span class="token-line" style="color:#393A34"><span class="token plain">ngx.say(ngx.encode_base64(digest))</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="shell"></a>Shell<a class= [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to lowercase hexits</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </ [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to base64</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </span><span [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/external-plugin/index.html b/docs/apisix/2.10/external-plugin/index.html
index bcb37d3..acb468a 100644
--- a/docs/apisix/2.10/external-plugin/index.html
+++ b/docs/apisix/2.10/external-plugin/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">External Plugin | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conte [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -40,7 +40,7 @@ declare your variable first in the <code>conf/config.yaml</code>:</p><div class=
OpenResty 1.19+.</p><p>However, APISIX needs to wait the runner to quit so that we can ensure the resource
for the process group is freed.</p><p>Therefore, we send SIGTERM first. And then after 1 second, if the runner is still
running, we will send SIGKILL.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/external-plugin.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1. [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/getting-started/index.html b/docs/apisix/2.10/getting-started/index.html
index a95079b..d8b1249 100644
--- a/docs/apisix/2.10/getting-started/index.html
+++ b/docs/apisix/2.10/getting-started/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Getting Started | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conte [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/grpc-proxy/index.html b/docs/apisix/2.10/grpc-proxy/index.html
index aa1d20c..b9b6d81 100644
--- a/docs/apisix/2.10/grpc-proxy/index.html
+++ b/docs/apisix/2.10/grpc-proxy/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gRPC Proxy | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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 -> APISIX -> 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'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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/health-check/index.html b/docs/apisix/2.10/health-check/index.html
index 1005644..45e21b6 100644
--- a/docs/apisix/2.10/health-check/index.html
+++ b/docs/apisix/2.10/health-check/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Health Check | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
There won't be any health check if an upstream is configured but isn't in used.</li><li>If there is no healthy node can be chosen, we will continue to access the upstream.</li><li>We won't start the health check when the upstream only has one node, as we will access
it whether this unique node is healthy or not.</li><li>Active health check is required so that the unhealthy node can recover.</li></ul><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="configuration-instructions"></a>Configuration instructions<a class="hash-link" href="#configuration-instructions" title="Direct link to heading">#</a></h3><table><thead><tr><th>Configuration item</th><th>Configuration type</th><th>Value type</th><th>Va [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/how-to-build/index.html b/docs/apisix/2.10/how-to-build/index.html
index bc6dbd8..8e62f3e 100644
--- a/docs/apisix/2.10/how-to-build/index.html
+++ b/docs/apisix/2.10/how-to-build/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How to build Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Will install the latest apisix package</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">sudo</span><span class="token plain"> yum </span><span class="token function" style="color:#d73a49">install</spa [...]
If you need these features, you can build the APISIX OpenResty.
You can refer to the source of <a href="https://github.com/api7/apisix-build-tools" target="_blank" rel="noopener noreferrer">api7/apisix-build-tools</a> for how to set up the build environment and build the APISIX OpenResty.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="step-7-add-systemd-unit-file-for-apache-apisix"></a>Step 7: Add Systemd Unit File for Apache APISIX<a class="hash-link" href="#step-7-add-systemd-unit-file-for [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/https/index.html b/docs/apisix/2.10/https/index.html
index 7c0c619..2f52065 100644
--- a/docs/apisix/2.10/https/index.html
+++ b/docs/apisix/2.10/https/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HTTPS | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https: [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -37,7 +37,7 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/https.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11.7l-3 [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/install-dependencies/index.html b/docs/apisix/2.10/install-dependencies/index.html
index 3d37c4f..9d0f924 100644
--- a/docs/apisix/2.10/install-dependencies/index.html
+++ b/docs/apisix/2.10/install-dependencies/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Dependencies | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -40,7 +40,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># install LuaRocks</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> https://raw.githubusercontent.com/apache/apisix/master/utils/linux-install-luarocks.sh -sL </spa [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:#393A34">&</span></span></code></pre [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">brew services start etcd</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div></div><footer class="th [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/internal/testing-framework/index.html b/docs/apisix/2.10/internal/testing-framework/index.html
index dde6d18..00d9e19 100644
--- a/docs/apisix/2.10/internal/testing-framework/index.html
+++ b/docs/apisix/2.10/internal/testing-framework/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Introducing APISIX's testing framework | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="t [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -38,7 +38,7 @@ This allows us to write methods inside <code>t/lib/server.lua</code> to emulate
</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">==</span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> TEST </span><span class="token number" style="color:#36acaa">2</span><span class="token plain">: vars rule with </span><span class="token operator" style="color:#393A34">!</span><span class="token plain"> </span><span class="token punctuation" style="c [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/mtls/index.html b/docs/apisix/2.10/mtls/index.html
index 926f577..f5fa8b7 100644
--- a/docs/apisix/2.10/mtls/index.html
+++ b/docs/apisix/2.10/mtls/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS Authentication | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og: [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">if</span><span class="token plain"> </span><span class="token builtin">len</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">sys</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">argv</span><span class="token punctuation" style="color:#393A34">)</span><span cl [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">reqParam </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"tls"</span><span class="token punctuation" style=" [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">resp </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> requests</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">patch</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"http://127.0.0.1:9080/apisix/admin/upstreams/"</span><span class="toke [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugin-develop/index.html b/docs/apisix/2.10/plugin-develop/index.html
index ea9a8a0..b17d47b 100644
--- a/docs/apisix/2.10/plugin-develop/index.html
+++ b/docs/apisix/2.10/plugin-develop/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Develop | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -59,7 +59,7 @@ return items of HTTP include HTTP status, HTTP response header, HTTP response bo
You may need to use <a href="/docs/apisix/2.10/plugin-interceptors">interceptors</a> to protect it.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="register-control-api"></a>Register control API<a class="hash-link" href="#register-control-api" title="Direct link to heading">#</a></h3><p>If you only want to expose the API to the localhost or intranet, you can expose it via <a href="/docs/apisix/2.10/control-api">Control API</a>.</ [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">function _M.control_api()</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> return {</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> {</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> methods = {"GET"},</span></span><span class="token-line" style="color:#393A3 [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugin-interceptors/index.html b/docs/apisix/2.10/plugin-interceptors/index.html
index 24b192d..bbd4ca9 100644
--- a/docs/apisix/2.10/plugin-interceptors/index.html
+++ b/docs/apisix/2.10/plugin-interceptors/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin interceptors | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" c [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ to run rules to protect them.</p><p>Here is an example to limit the access of <c
to clients in <code>10.0.0.0/24</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/pl [...]
the name of plugin which you want to run and the <code>conf</code> is the configuration of the
plugin.</p><p>Currently we only support a subset of plugins which can be run as interceptors.</p><p>Supported interceptors:</p><ul><li><a href="/docs/apisix/2.10/plugins/ip-restriction">ip-restriction</a></li></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/plugin-interceptors.md" target="_blank" rel="noreferrer noopener" class="theme-edi [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/api-breaker/index.html b/docs/apisix/2.10/plugins/api-breaker/index.html
index 6788ec9..de4beb6 100644
--- a/docs/apisix/2.10/plugins/api-breaker/index.html
+++ b/docs/apisix/2.10/plugins/api-breaker/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">api-breaker | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/authz-casbin/index.html b/docs/apisix/2.10/plugins/authz-casbin/index.html
index 56be167..697e460 100644
--- a/docs/apisix/2.10/plugins/authz-casbin/index.html
+++ b/docs/apisix/2.10/plugins/authz-casbin/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">authz-casbin | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -38,7 +38,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">[policy_effect]</span></span><span class="token-line" style="color:#393A34"><span class="token plain">e = some(where (p.eft == allow))</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">[matchers]</span></span><span class="token-line" style="color:#393A34"><span class="token plain">m = (g(r.sub, p.sub) || keyMatch(r.sub, p.sub)) && keyMatch(r.obj, p.obj) && keyMatch(r.act, p.act)</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>And the example policy as:</p><div class="code [...]
APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/authz-keycloak/index.html b/docs/apisix/2.10/plugins/authz-keycloak/index.html
index d13c44f..a7887c6 100644
--- a/docs/apisix/2.10/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.10/plugins/authz-keycloak/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">authz-keycloak | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -48,7 +48,7 @@ APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div cl
API workflows. Run the following docker image and visit <code>http://localhost:8090</code> to view the associated policies for the unit tests.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">docker run -e </span><span class=" [...]
However, Keycloak's official adapters (Java, JS) also provides path matching by querying Keycloak paths dynamically, and
lazy loading the paths to identity resources. Future version on authz-plugin will support this functionality.</p></li><li><p>Support to read scope and configurations from the Keycloak JSON File</p></li></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/plugins/authz-keycloak.md" target="_blank" rel="noreferrer noopener" class="theme-edit-th [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/basic-auth/index.html b/docs/apisix/2.10/plugins/basic-auth/index.html
index 9e66bd9..6f203c3c 100644
--- a/docs/apisix/2.10/plugins/basic-auth/index.html
+++ b/docs/apisix/2.10/plugins/basic-auth/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">basic-auth | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/batch-requests/index.html b/docs/apisix/2.10/plugins/batch-requests/index.html
index 5fc6138..68d0527 100644
--- a/docs/apisix/2.10/plugins/batch-requests/index.html
+++ b/docs/apisix/2.10/plugins/batch-requests/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">batch-requests | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
You may need to use <a href="/docs/apisix/2.10/plugin-interceptors">interceptors</a> to protect it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Enable the batch-requests plugin in the <code>config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" cl [...]
You can configure it via <code>apisix/admin/plugin_metadata/batch-requests</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/ [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/client-control/index.html b/docs/apisix/2.10/plugins/client-control/index.html
index f697b62..74606ab 100644
--- a/docs/apisix/2.10/plugins/client-control/index.html
+++ b/docs/apisix/2.10/plugins/client-control/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">client-control | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ handle the client request.</p><p><strong>This plugin requires APISIX to run on <
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">413</span><span class="token plain"> Request Entity Too Large</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span>< [...]
you can delete the corresponding json configuration in the plugin configuration,
no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/consumer-restriction/index.html b/docs/apisix/2.10/plugins/consumer-restriction/index.html
index 3ff2400..1bbe8e7 100644
--- a/docs/apisix/2.10/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.10/plugins/consumer-restriction/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consumer-restriction | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/services/2 -H </span><span class="token string" style="color:#e3116c">'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1'</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">'</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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/cors/index.html b/docs/apisix/2.10/plugins/cors/index.html
index a7cf765..ef931b9 100644
--- a/docs/apisix/2.10/plugins/cors/index.html
+++ b/docs/apisix/2.10/plugins/cors/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">cors | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https:/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
When using <code>**</code>, you must fully understand that it introduces some security risks, such as CSRF, so make sure that this security level meets your expectations before using it。</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Create a <code>Route</code> or <code>Service</code> object and con [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/dubbo-proxy/index.html b/docs/apisix/2.10/plugins/dubbo-proxy/index.html
index b14a764..21a5c4e 100644
--- a/docs/apisix/2.10/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/2.10/plugins/dubbo-proxy/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">dubbo-proxy | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ They should provide the same result.</p><p>The returned data from upstream dubbo
you can delete the corresponding json configuration in the plugin configuration,
no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
you need to comment out in the <code>config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctuation" style="color:#393A34">:</span><span class="toke [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/echo/index.html b/docs/apisix/2.10/plugins/echo/index.html
index 856b40f..355abb5 100644
--- a/docs/apisix/2.10/plugins/echo/index.html
+++ b/docs/apisix/2.10/plugins/echo/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">echo | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https:/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/error-log-logger/index.html b/docs/apisix/2.10/plugins/error-log-logger/index.html
index 079a8f9..de9944b 100644
--- a/docs/apisix/2.10/plugins/error-log-logger/index.html
+++ b/docs/apisix/2.10/plugins/error-log-logger/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">error-log-logger | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" cont [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
<a href="/docs/apisix/2.10/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>tcp.host</td><td>string</td><td>required</td><td></td><td></td><td>IP ad [...]
It does not need to be bound in any route or service.</p><p>Here is an example of <code>conf/config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punc [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/ext-plugin-post-req/index.html b/docs/apisix/2.10/plugins/ext-plugin-post-req/index.html
index 5aa12b2..e2dc76e 100644
--- a/docs/apisix/2.10/plugins/ext-plugin-post-req/index.html
+++ b/docs/apisix/2.10/plugins/ext-plugin-post-req/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ext-plugin-post-req | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" c [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
before proxying to the upstream.</p><p>See the documentation of <a href="/docs/apisix/2.10/plugins/ext-plugin-pre-req">ext-plugin-pre-req</a> for how to configure it.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/plugins/ext-plugin-post-req.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/ext-plugin-pre-req/index.html b/docs/apisix/2.10/plugins/ext-plugin-pre-req/index.html
index 60d6c24..6f7fb74 100644
--- a/docs/apisix/2.10/plugins/ext-plugin-pre-req/index.html
+++ b/docs/apisix/2.10/plugins/ext-plugin-pre-req/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ext-plugin-pre-req | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" co [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ executing most of the builtin Lua plugins.</p><p>To know what is the plugin runn
is executed at that side.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to disable this plugin, it is very simple,
you can delete the corresponding json configuration in the plugin configuration,
no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/fault-injection/index.html b/docs/apisix/2.10/plugins/fault-injection/index.html
index 92a2ccc..2bc5dc4 100644
--- a/docs/apisix/2.10/plugins/fault-injection/index.html
+++ b/docs/apisix/2.10/plugins/fault-injection/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">fault-injection | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conte [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -42,7 +42,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><ol start="2"><li>The request header <code>apikey</code> is successfully matched, and the request parameters are missing, and fault injection is performed:</li></ol><div class="codeBlockC [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><ol start="3"><li>Both request parameters and request headers fail to match, and fault injection is not performed:</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockConte [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/grpc-transcode/index.html b/docs/apisix/2.10/plugins/grpc-transcode/index.html
index 795368d..a4f38d4 100644
--- a/docs/apisix/2.10/plugins/grpc-transcode/index.html
+++ b/docs/apisix/2.10/plugins/grpc-transcode/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">grpc-transcode | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">"message"</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">"Hello world"</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type="button" aria-label="Copy code to clipbo [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">"workflowKey"</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">"#2251799813685260"</span><span class="token plain">,</span><span class="token string" style="color:#e3116c">"workflowInstanceKey"</span><spa [...]
APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/gzip/index.html b/docs/apisix/2.10/plugins/gzip/index.html
index 2635840..bf6317b 100644
--- a/docs/apisix/2.10/plugins/gzip/index.html
+++ b/docs/apisix/2.10/plugins/gzip/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gzip | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https:/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Warning: Binary output can mess up your terminal. Use </span><span class="token string" style="color:#e3116c">"--output -"</span><span class="token plain"> to tell</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Warning: </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> to output it to your terminal anyway, or [...]
you can delete the corresponding JSON configuration in the plugin configuration,
no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/hmac-auth/index.html b/docs/apisix/2.10/plugins/hmac-auth/index.html
index 5c020e6..a9bfc37 100644
--- a/docs/apisix/2.10/plugins/hmac-auth/index.html
+++ b/docs/apisix/2.10/plugins/hmac-auth/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">hmac-auth | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="ht [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -35,7 +35,7 @@
you can delete the corresponding json configuration in the plugin configuration,
no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
Need to pay attention to the handling of newline characters in signature strings in various languages, which can easily lead to the problem of <code>{"message":"Invalid signature"}</code>.</p><p>Example inputs:</p><table><thead><tr><th>Variable</th><th>Value</th></tr></thead><tbody><tr><td>secret</td><td>this is secret key</td></tr><tr><td>message</td><td>this is signature string</td></tr></tbody></table><p>Example outputs:</p><table><thead><tr><th>Type</th><th>Hash</ [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/http-logger/index.html b/docs/apisix/2.10/plugins/http-logger/index.html
index a0d4cba..37d171a 100644
--- a/docs/apisix/2.10/plugins/http-logger/index.html
+++ b/docs/apisix/2.10/plugins/http-logger/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">http-logger | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/index.html b/docs/apisix/2.10/plugins/index.html
index fe50a0e..c1e7c5b 100644
--- a/docs/apisix/2.10/plugins/index.html
+++ b/docs/apisix/2.10/plugins/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugins | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="http [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
the its execution will be skipped.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="hot-reload-in-stand-alone-mode"></a>Hot reload in stand-alone mode<a class="hash-link" href="#hot-reload-in-stand-alone-mode" title="Direct link to heading">#</a></h3><p>For stand-alone mode, see plugin related section in <a href="/docs/apisix/2.10/stand-alone">stand alone mode</a>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div cl [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/ip-restriction/index.html b/docs/apisix/2.10/plugins/ip-restriction/index.html
index 33443ec..cc55d21 100644
--- a/docs/apisix/2.10/plugins/ip-restriction/index.html
+++ b/docs/apisix/2.10/plugins/ip-restriction/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ip-restriction | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ you can send the corresponding json configuration in the plugin configuration,
no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H [...]
you can delete the corresponding json configuration in the plugin configuration,
no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/jwt-auth/index.html b/docs/apisix/2.10/plugins/jwt-auth/index.html
index 041cec1..8c8fcff 100644
--- a/docs/apisix/2.10/plugins/jwt-auth/index.html
+++ b/docs/apisix/2.10/plugins/jwt-auth/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">jwt-auth | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -31,7 +31,7 @@ You may need to use <a href="/docs/apisix/2.10/plugin-interceptors">interceptors
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34"><</span><span class="token operator" style="color:#393A34">!</span><span class="token plain">DOCTYPE html</span><span class="token operator" 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 operator" style="color:#393A34" [...]
you can delete the corresponding json configuration in the plugin configuration,
no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/kafka-logger/index.html b/docs/apisix/2.10/plugins/kafka-logger/index.html
index ae94fa6..0cc17c9 100644
--- a/docs/apisix/2.10/plugins/kafka-logger/index.html
+++ b/docs/apisix/2.10/plugins/kafka-logger/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">kafka-logger | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ or every <code>buffer_duration</code> flush the buffer.</p><p>In case of success
In case of errors, returns <code>nil</code> with a string describing the error (<code>buffer overflow</code>).</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="sample-broker-list"></a>Sample broker list<a class="hash-link" href="#sample-broker-list" title="Direct link to heading">#</a></h3><p>This plugin supports to push in to more than one broker at a time. Specify the brokers of the external kafka servers as below
sample to take effect of this functionality.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span cla [...]
APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/key-auth/index.html b/docs/apisix/2.10/plugins/key-auth/index.html
index f4c486a..8aa6047 100644
--- a/docs/apisix/2.10/plugins/key-auth/index.html
+++ b/docs/apisix/2.10/plugins/key-auth/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">key-auth | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.2:9080/index.html -H </span><span class="token string" style="color:#e3116c">'apikey: abcabcabc'</span><span class="token plain"> -i</span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa [...]
you can delete the corresponding json configuration in the plugin configuration,
no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/limit-conn/index.html b/docs/apisix/2.10/plugins/limit-conn/index.html
index b886d20..a1473b4 100644
--- a/docs/apisix/2.10/plugins/limit-conn/index.html
+++ b/docs/apisix/2.10/plugins/limit-conn/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-conn | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> -i http://127.0.0.1:9080/index.html?sleep</span><span class="token operator" style="color:#393A34">=</span><span class="token number" style="color:#36acaa">20</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token opera [...]
you can delete the corresponding json configuration in the plugin configuration,
no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/limit-count/index.html b/docs/apisix/2.10/plugins/limit-count/index.html
index 369c7a7..e8df3aa 100644
--- a/docs/apisix/2.10/plugins/limit-count/index.html
+++ b/docs/apisix/2.10/plugins/limit-count/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-count | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ which mean the total number of requests and the remaining number of requests tha
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">"error_msg"</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">"Requests are too frequent, please try again later."</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type [...]
you can delete the corresponding json configuration in the plugin configuration,
no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/limit-req/index.html b/docs/apisix/2.10/plugins/limit-req/index.html
index fa93e7a..dd5045f 100644
--- a/docs/apisix/2.10/plugins/limit-req/index.html
+++ b/docs/apisix/2.10/plugins/limit-req/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-req | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="ht [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">"error_msg"</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">"Requests are too frequent, please try again later."</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type [...]
you can delete the corresponding json configuration in the plugin configuration,
no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/log-rotate/index.html b/docs/apisix/2.10/plugins/log-rotate/index.html
index d9077ec..b9fac59 100644
--- a/docs/apisix/2.10/plugins/log-rotate/index.html
+++ b/docs/apisix/2.10/plugins/log-rotate/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">log-rotate | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ When the number of log files exceeds the remaining number, the old files are aut
For example, the following example is a sample based on <code>interval: 10</code> and <code>max_kept: 10</code>.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ ll logs</span></span><span class="token-line" style="color:# [...]
It does not need to be bound in any route or service.</p><p>Here is an example of <code>conf/config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punc [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">plugin_attr</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">log-rotate</span><span class="token punctuation" style="color:#393A34">:</span><span cla [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/mqtt-proxy/index.html b/docs/apisix/2.10/plugins/mqtt-proxy/index.html
index 035690b..95461c8 100644
--- a/docs/apisix/2.10/plugins/mqtt-proxy/index.html
+++ b/docs/apisix/2.10/plugins/mqtt-proxy/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">mqtt-proxy | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
balance by <code>client_id</code> of MQTT.</p><p>And this plugin both support MQTT protocol <a href="http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html" target="_blank" rel="noopener noreferrer">3.1.*</a> and <a href="https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html" target="_blank" rel="noopener noreferrer">5.0</a>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash- [...]
For example, the following configuration represents listening on the 9100 TCP port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">...</span><span class="token [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/node-status/index.html b/docs/apisix/2.10/plugins/node-status/index.html
index c5575c5..fb1f837 100644
--- a/docs/apisix/2.10/plugins/node-status/index.html
+++ b/docs/apisix/2.10/plugins/node-status/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">node-status | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ then you can add this plugin in any route.</li></ol><div class="codeBlockContain
then you can not add this plugin in any route.</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">plugins: </span><span class="token comment" style="color:#999988;font-style:italic"># plugin list</ [...]
you can delete the corresponding json configuration in the plugin configuration,
no need to restart the service, it will take effect immediately.</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly sh"><pre tabindex="0" class="prism-code language-sh codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/openid-connect/index.html b/docs/apisix/2.10/plugins/openid-connect/index.html
index 66f1e3c..8e47d6a 100644
--- a/docs/apisix/2.10/plugins/openid-connect/index.html
+++ b/docs/apisix/2.10/plugins/openid-connect/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">openid-connect | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -49,7 +49,7 @@ Once the user has authenticated against the identity provider, the plugin will o
and further information from the identity provider on behalf of the user. The information is currently stored
in a session cookie that the user agent can submit on subsequent requests. The plugin will recognize the cookie
and use the information therein to avoid having to go through the flow again.</p><p>The following command adds this mode of operation to a route.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</ [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/prometheus/index.html b/docs/apisix/2.10/plugins/prometheus/index.html
index 735fa94..3f5d3f7 100644
--- a/docs/apisix/2.10/plugins/prometheus/index.html
+++ b/docs/apisix/2.10/plugins/prometheus/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">prometheus | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ you may need to use <a href="/docs/apisix/2.10/plugin-interceptors">interceptors
Notice, <code>name</code> could be duplicated for multiple routes/services, so when set <code>prefer_name</code> to <code>true</code>, take care of naming format or it could be misleading.</p><p>For example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#3 [...]
these metric data.</p><p>For example like this:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">scrape_configs</span><span class="token punctuation" style="color:#393A34">:</span><span class="token [...]
APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/proxy-cache/index.html b/docs/apisix/2.10/plugins/proxy-cache/index.html
index a4561cb..98ae3ec 100644
--- a/docs/apisix/2.10/plugins/proxy-cache/index.html
+++ b/docs/apisix/2.10/plugins/proxy-cache/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-cache | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><blockquote><p>http status is '200' and the response header contains 'Apisix-Cache-Status' to indicate that the plug-in is enabled.</p></blockquote><ol start="3"><li>Verify that the data is cached and request the above address again:</l [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><blockquote><p>The response header <code>Apisix-Cache-Status</code> value has changed to HIT, indicating that the data has been cached</p></blockquote><p>Example 3: Specifying cache_zone as <code>invalid_disk_cache</code> is inconsistent with the cache are [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34"><</span><span class="token plain">html</span><span class="token operator" 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 operator" style="color:#393A34"><</span><span class="token plain">head</span><span class="token [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/proxy-mirror/index.html b/docs/apisix/2.10/plugins/proxy-mirror/index.html
index 028f155..6153897 100644
--- a/docs/apisix/2.10/plugins/proxy-mirror/index.html
+++ b/docs/apisix/2.10/plugins/proxy-mirror/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-mirror | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><blockquote><p>Since the specified mirror address is 127.0.0.1:9797, so to verify whether this plugin is in effect, we need to confirm on the service with port 9797.
For example, we can start a simple server: python -m SimpleHTTPServer 9797</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON in the plugin configuration to disable the plugin immediately without restarting the service:</p><div class="codeBlockContainer_K1bP"><div class [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/proxy-rewrite/index.html b/docs/apisix/2.10/plugins/proxy-rewrite/index.html
index c3882b7..c55b921 100644
--- a/docs/apisix/2.10/plugins/proxy-rewrite/index.html
+++ b/docs/apisix/2.10/plugins/proxy-rewrite/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-rewrite | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
you can delete the corresponding json configuration in the plugin configuration,
no need to restart the service, it will take effect immediately :</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 - [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/real-ip/index.html b/docs/apisix/2.10/plugins/real-ip/index.html
index 29ef143..b937148 100644
--- a/docs/apisix/2.10/plugins/real-ip/index.html
+++ b/docs/apisix/2.10/plugins/real-ip/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">real-ip | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="http [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
you can delete the corresponding JSON configuration in the plugin configuration,
no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/redirect/index.html b/docs/apisix/2.10/plugins/redirect/index.html
index 7efab44..57b6bec 100644
--- a/docs/apisix/2.10/plugins/redirect/index.html
+++ b/docs/apisix/2.10/plugins/redirect/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">redirect | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>We can check the response code and the response header <code>Location</code>.</p><p>It shows that the <code>redirect</code> plugin is in effect.</p><p> Here is a [...]
you can delete the corresponding json configuration in the plugin configuration,
no need to restart the service, it will take effect immediately :</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 - [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/referer-restriction/index.html b/docs/apisix/2.10/plugins/referer-restriction/index.html
index fc592b0..14ea4b5 100644
--- a/docs/apisix/2.10/plugins/referer-restriction/index.html
+++ b/docs/apisix/2.10/plugins/referer-restriction/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">referer-restriction | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" c [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ whitelisting/blacklisting request header Referrers.</p><h2><a aria-hidden="true"
The message can be user-defined.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Creates a route or service object, and enable plugin <code>referer-restriction</code>.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 [...]
you can delete the corresponding json configuration in the plugin configuration,
no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/request-id/index.html b/docs/apisix/2.10/plugins/request-id/index.html
index 036bb9b..e2537d5 100644
--- a/docs/apisix/2.10/plugins/request-id/index.html
+++ b/docs/apisix/2.10/plugins/request-id/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-id | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
API request. The plugin will not add a request id if the <code>header_name</code> is already present in the request.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>header_name</td><td [...]
read the documentation first before deciding to use snowflake. Because once the configuration information is enabled, you can not arbitrarily adjust the configuration information. Failure to do so may result in duplicate ID being generated.</p></blockquote><p>The Snowflake algorithm is not enabled by default and needs to be configured in 'conf/config.yaml'.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code langua [...]
APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/request-validation/index.html b/docs/apisix/2.10/plugins/request-validation/index.html
index d11a1bd..9ad10df 100644
--- a/docs/apisix/2.10/plugins/request-validation/index.html
+++ b/docs/apisix/2.10/plugins/request-validation/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-validation | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" co [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
json-schema to validate the schema. The plugin can be used to validate the headers and body data.</p><p>For more information on schema, refer to <a href="https://github.com/api7/jsonschema" target="_blank" rel="noopener noreferrer">JSON schema</a> for more information.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table>< [...]
APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/response-rewrite/index.html b/docs/apisix/2.10/plugins/response-rewrite/index.html
index 957b900..07d2da3 100644
--- a/docs/apisix/2.10/plugins/response-rewrite/index.html
+++ b/docs/apisix/2.10/plugins/response-rewrite/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">response-rewrite | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" cont [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">"code"</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">"ok"</span><span class="token plain">,</span><span class="token string" style="color:#e3116c">"message"</span><span class="token builtin class-name" [...]
you can delete the corresponding json configuration in the plugin configuration,
no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/server-info/index.html b/docs/apisix/2.10/plugins/server-info/index.html
index 9bae97e..9490976 100644
--- a/docs/apisix/2.10/plugins/server-info/index.html
+++ b/docs/apisix/2.10/plugins/server-info/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">server-info | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/serverless/index.html b/docs/apisix/2.10/plugins/serverless/index.html
index 7367435..fbfd021 100644
--- a/docs/apisix/2.10/plugins/serverless/index.html
+++ b/docs/apisix/2.10/plugins/serverless/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">serverless | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
which indicates that the specified function is in effect.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to disable the serverless plugin, it is very simple,
you can delete the corresponding json configuration in the plugin configuration,
no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/skywalking/index.html b/docs/apisix/2.10/plugins/skywalking/index.html
index 9e4dc3e..127df67 100644
--- a/docs/apisix/2.10/plugins/skywalking/index.html
+++ b/docs/apisix/2.10/plugins/skywalking/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">skywalking | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -34,7 +34,7 @@ you need to comment out in the <code>config.yaml</code>:</p><div class="codeBloc
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.web.bind.annotation.PathVariable;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.web.bind.annotation.RequestMapping;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.web.bind.annotation.RestController;</span></span><span class="token-line" style="c [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">/**</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> * @author cyxinda</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> * @create 2020-05-29 14:02</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> * @desc skywalking test controller</span></span><span class="token-line" style="color:#393A34"> [...]
update the file of agent/config/agent.config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">agent.service_name</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">yourservername</span [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/sls-logger/index.html b/docs/apisix/2.10/plugins/sls-logger/index.html
index 7642d0c..0d5c378 100644
--- a/docs/apisix/2.10/plugins/sls-logger/index.html
+++ b/docs/apisix/2.10/plugins/sls-logger/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">sls-logger | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
<a href="/docs/apisix/2.10/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Requirement</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>required</td><td>IP address or the Hostname of the TCP server, please reference ali cloud log <a href= [...]
</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="test-plugin"></a>Test Plugin<a class="hash-link" href="#test-plugin" title="Direct link to heading">#</a></h2><ul><li>success:</li></ul><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism [...]
APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/syslog/index.html b/docs/apisix/2.10/plugins/syslog/index.html
index 563dc3c..c88eec1 100644
--- a/docs/apisix/2.10/plugins/syslog/index.html
+++ b/docs/apisix/2.10/plugins/syslog/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">syslog | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/tcp-logger/index.html b/docs/apisix/2.10/plugins/tcp-logger/index.html
index 375f8cd..19f86f6 100644
--- a/docs/apisix/2.10/plugins/tcp-logger/index.html
+++ b/docs/apisix/2.10/plugins/tcp-logger/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">tcp-logger | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
<a href="/docs/apisix/2.10/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP addres [...]
APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/traffic-split/index.html b/docs/apisix/2.10/plugins/traffic-split/index.html
index e3d9f68..2bae00a 100644
--- a/docs/apisix/2.10/plugins/traffic-split/index.html
+++ b/docs/apisix/2.10/plugins/traffic-split/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">traffic-split | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -36,7 +36,7 @@ service_name, discovery_type, checks, retries, retry_timeout, desc, scheme, labe
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">world </span><span class="token number" style="color:#36acaa">1981</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-col [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>After 5 requests, the service of port <code>1981</code> was hit 3 times, and the service of port <code>1980</code> was hit 2 times.</p><blockquote><ol start="3"><li>The expression verification [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="matching-rules-correspond-to-upstream"></a>Matching rules correspond to upstream<a class="h [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/ua-restriction/index.html b/docs/apisix/2.10/plugins/ua-restriction/index.html
index 45b759c..ffac257 100644
--- a/docs/apisix/2.10/plugins/ua-restriction/index.html
+++ b/docs/apisix/2.10/plugins/ua-restriction/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ua-restriction | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/udp-logger/index.html b/docs/apisix/2.10/plugins/udp-logger/index.html
index 814a88f..32e75c0 100644
--- a/docs/apisix/2.10/plugins/udp-logger/index.html
+++ b/docs/apisix/2.10/plugins/udp-logger/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">udp-logger | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
<a href="/docs/apisix/2.10/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP addres [...]
APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/uri-blocker/index.html b/docs/apisix/2.10/plugins/uri-blocker/index.html
index c59a437..6c25d5c 100644
--- a/docs/apisix/2.10/plugins/uri-blocker/index.html
+++ b/docs/apisix/2.10/plugins/uri-blocker/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">uri-blocker | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">. </span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If you set the property <code>rejected_msg</code> to <code>&quo [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">"error_msg"</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">"access is not allowed"</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type="button" aria-label="Copy co [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/wolf-rbac/index.html b/docs/apisix/2.10/plugins/wolf-rbac/index.html
index 711e14d..647c786 100644
--- a/docs/apisix/2.10/plugins/wolf-rbac/index.html
+++ b/docs/apisix/2.10/plugins/wolf-rbac/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">wolf-rbac | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="ht [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -44,7 +44,7 @@ The rbac feature is provided by <a href="https://github.com/iGeeky/wolf" target=
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">200</span><span class="token plain"> OK</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">"message"</span><span class="token builtin class-name">:</span><span class="token stri [...]
you can delete the corresponding json configuration in the plugin configuration,
no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/plugins/zipkin/index.html b/docs/apisix/2.10/plugins/zipkin/index.html
index 6a02215..9e07b50 100644
--- a/docs/apisix/2.10/plugins/zipkin/index.html
+++ b/docs/apisix/2.10/plugins/zipkin/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Zipkin | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -30,7 +30,7 @@ no need to restart the service, it will take effect immediately:</p><div class="
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> tracer := GetTracer(...)</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> // use middleware to extract parentID from http header that injected by APISIX</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> r.Use(func(c *gin.Context) {</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> span := this.Tracer.Extract(b3.ExtractHTTP(c.Request))</span></span><span class="token-line" style="color:#39 [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">}</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/plugins/zipkin.md" target="_blank" rel="noreferrer noopener" cla [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/powered-by/index.html b/docs/apisix/2.10/powered-by/index.html
index 570a987..bc6a605 100644
--- a/docs/apisix/2.10/powered-by/index.html
+++ b/docs/apisix/2.10/powered-by/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Powered by Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:u [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
or providing commercial products including APISIX.</p><p>Users are encouraged to add themselves to this page, <a href="https://github.com/apache/apisix/issues/487" target="_blank" rel="noopener noreferrer">issue</a> and PR are welcomed.</p><ol><li><a href="https://hy.10086.cn/" target="_blank" rel="nofollow">中移杭研</a></li><li><a href="http://www.163.com" target="_blank" rel="nofollow">Netease 网易</a></li><li><a href="https://www.360.cn/" target="_blank" rel="nofollow">360 奇虎</a></li><li><a [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/profile/index.html b/docs/apisix/2.10/profile/index.html
index 7bf72a4..a14fa3b 100644
--- a/docs/apisix/2.10/profile/index.html
+++ b/docs/apisix/2.10/profile/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Configuration file switching based on environment variables | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ requirements, we need to change the parameters in the configuration file to the
development environment. You have to change it back. It's very easy to make mistakes.</p><p>The solution to the above problem is to distinguish the current running environment through environment variables, and switch
between different configuration files through environment variables. The corresponding environment variable in APISIX is: <code>APISIX_PROFILE</code></p><p>When <code>APISIX_PROFILE</code> is not set, the following three configuration files are used by default:</p><ul><li>conf/config.yaml</li><li>conf/apisix.yaml</li><li>conf/debug.yaml</li></ul><p>If the value of <code>APISIX_PROFILE</code> is set to <code>prod</code>, the following three configuration files are used:</p><ul><li>conf/co [...]
tools such as git can be configured, and version management can be better achieved.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/profile.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/router-radixtree/index.html b/docs/apisix/2.10/router-radixtree/index.html
index 0bd3ae8..385aac6 100644
--- a/docs/apisix/2.10/router-radixtree/index.html
+++ b/docs/apisix/2.10/router-radixtree/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router radixtree | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" cont [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
here is an simple example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </s [...]
data from the request body. This limitation is configured via:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">graphql</span><span class="token punctuation" style="color:#393A34">:</span><span class [...]
</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If you need to pass a GraphQL body which is larger than the limitation, you can increase the value in <code>conf/config.yaml</code>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.10/docs/en/latest/router-radixt [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/stand-alone/index.html b/docs/apisix/2.10/stand-alone/index.html
index 7bd195d..f21bb58 100644
--- a/docs/apisix/2.10/stand-alone/index.html
+++ b/docs/apisix/2.10/stand-alone/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stand-alone mode | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" cont [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
the APISIX will check if this file has any changed every second.
If the file changed and we found <code>#END</code> at the end of the file,
APISIX will load the rules in this file and update to memory of APISIX.</p><p>Here is a mini example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">routes</span><span class="token punctuation" sty [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/stream-proxy/index.html b/docs/apisix/2.10/stream-proxy/index.html
index 49d5596..5ca63f5 100644
--- a/docs/apisix/2.10/stream-proxy/index.html
+++ b/docs/apisix/2.10/stream-proxy/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stream Proxy | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
By default, no stream proxy is enabled.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></ [...]
See <a href="/docs/apisix/2.10/admin-api#ssl">Admin API's SSL section</a> for how to do.
mTLS is also supported, see <a href="/docs/apisix/2.10/mtls#protect-route">Protect Route</a> for how to do.</p><p>Third, we need to configure a stream route to match and proxy it to the upstream:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.10/tags/index.html b/docs/apisix/2.10/tags/index.html
index 9986137..33afee4 100644
--- a/docs/apisix/2.10/tags/index.html
+++ b/docs/apisix/2.10/tags/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Tags | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Tags | Apache APISIX® -- Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/FAQ/index.html b/docs/apisix/2.4/FAQ/index.html
index d212efb..6534dda 100644
--- a/docs/apisix/2.4/FAQ/index.html
+++ b/docs/apisix/2.4/FAQ/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https:// [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ Run the <code>luarocks config rocks_servers</code> command(this command is suppo
</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">These open issues may also help:</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">Can'</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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 29a9052..5dbac8f 100644
--- a/docs/apisix/2.4/IGNORE_DOC/index.html
+++ b/docs/apisix/2.4/IGNORE_DOC/index.html
@@ -16,13 +16,13 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 d2a6781..c20d752 100644
--- a/docs/apisix/2.4/admin-api/index.html
+++ b/docs/apisix/2.4/admin-api/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Admin API | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="ht [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -80,7 +80,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">After the execution is successful, nodes will not retain the original data, and the entire update is:</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token strin [...]
</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><blockquote><p>Response Parameters</p></blockquote><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="ssl"></a>SSL<a class="hash-link" href="#ssl" title="Direct link to heading">#</a></h2><p><em>API</e [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://127.0.0.1:9080/apisix/admin/plugins/key-auth"</span><span class="token plain"> -H </span><span class="token string" style="color:#e3116c">'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1'</span><span class="token plain"></span> [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 10702f1..9ba8e36 100644
--- a/docs/apisix/2.4/architecture-design/index.html
+++ b/docs/apisix/2.4/architecture-design/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Architecture Design | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" c [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -42,7 +42,7 @@ will be merged into it. The same plugin in the plugin config will override one i
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If the information can be delivered via HTTP response header, for example, the plugin is in stream
subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker re [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"> </ [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 9369b8f..2a8294b 100644
--- a/docs/apisix/2.4/aws/index.html
+++ b/docs/apisix/2.4/aws/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Running APISIX in AWS with AWS CDK | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" prop [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -44,7 +44,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Non-authoritative answer:</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Name: apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Address: </span><span class="token number" style="color:#36acaa">44.224</span><span class="token plain">.124.213</span></span><sp [...]
<img src="https://cdn.jsdelivr.net/gh/apache/apisix@release/2.4/docs/assets/images/aws-define-service.png">
<img src="https://cdn.jsdelivr.net/gh/apache/apisix@release/2.4/docs/assets/images/aws-define-route.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="validation"></a>Validation<a class="hash-link" href="#validation" title="Direct link to heading">#</a></h2><p>OK. Let'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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 f0db75a..c79b2d5 100644
--- a/docs/apisix/2.4/batch-processor/index.html
+++ b/docs/apisix/2.4/batch-processor/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Batch Processor | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conte [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ argument and the batch configuration as the second parameter.</p><div class="cod
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">if batch_processor then</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> batch_processor:push({hello='world'})</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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 8b59fb9..9401e86 100644
--- a/docs/apisix/2.4/benchmark/index.html
+++ b/docs/apisix/2.4/benchmark/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Benchmark | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="ht [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class=
<img src="https://cdn.jsdelivr.net/gh/apache/apisix@release/2.4/docs/assets/images/flamegraph-1.jpg" alt="flamegraph-1"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="t [...]
and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor anchor__h4 anchorWithHideOnScrollNavbar_3R7-" id="qps-1"></a>QPS<a class="hash-link" href="#qps-1" title="Direct link to heading">#</a></h4><p>The x-axis means the size of CPU core, and the y-axis is QPS.</p><img src="https://cdn.jsdelivr.net/gh/apache/apisix@release/2.4/docs/assets/images/benchmark-2.jpg" width="70%" height="70%"><h4><a aria-hidden="true" tabindex="-1" class="anchor anchor__h4 anchor [...]
<img src="https://cdn.jsdelivr.net/gh/apache/apisix@release/2.4/docs/assets/images/flamegraph-2.jpg" alt="flamegraph-2"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="t [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 9fb086c..4a4174f 100644
--- a/docs/apisix/2.4/control-api/index.html
+++ b/docs/apisix/2.4/control-api/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Control API | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ If a plugin adds such a control API, please refer to each plugin's document
of fields like <code>consumer_schema</code> or <code>type</code>, it is dependended by the plugin'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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 8d88c24..8cafdec 100644
--- a/docs/apisix/2.4/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.4/customize-nginx-configuration/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Customize Nginx configuration | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> location /ysec_status </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"> req_status_show;</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> allow 127.0.0.1;</span></span><span class="token-line" [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> chunked_transfer_encoding on;</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">http_server_configuration_snippet</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">|</span><span class="token scalar string" style="color:#e3116c"></span></span><span class="token-line" style="color:#393A34"><span class="token scalar [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 0da68d7..4655701 100644
--- a/docs/apisix/2.4/debug-function/index.html
+++ b/docs/apisix/2.4/debug-function/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 9f283c2..816fd7d 100644
--- a/docs/apisix/2.4/discovery/consul_kv/index.html
+++ b/docs/apisix/2.4/discovery/consul_kv/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consul_kv | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="ht [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
<img src="https://user-images.githubusercontent.com/548385/107141841-6ced3e00-6966-11eb-8aa4-bc790a4ad113.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="configuration-for-discovery-client"></a>Configuration for discovery client<a class="hash-link" href="#configuration-for-discovery-client" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_ [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"> -X PUT </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></span><span c [...]
To avoid confusion, use the full consul key url path as service name in practice.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="upstream-setting"></a>Upstream setting<a class="hash-link" href="#upstream-setting" title="Direct link to heading">#</a></h3><p>Here is an example of routing a request with a URL of "/*" to a service which named "<a href="http://127.0.0.1:8500/v1/kv/upstreams/webpages/%22" target="_blank [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 19db196..e279b72 100644
--- a/docs/apisix/2.4/discovery/index.html
+++ b/docs/apisix/2.4/discovery/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Integration service discovery registry | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -31,7 +31,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">"node"</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">"value"</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">'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1'</span><span class="token plain"> -X PUT -i -d </span><span class="token string" style="color:#e3116c">'</span></span><span class="token-line" s [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 aa39fc9..5b95e09 100644
--- a/docs/apisix/2.4/dns/index.html
+++ b/docs/apisix/2.4/dns/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https:// [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ noisy). In the presence of records containing weights greater
than 0, records with weight 0 should have a very small chance of
being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node "have a very small chance of
being selected", 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 b1dad64..abb0bbf 100644
--- a/docs/apisix/2.4/examples/plugins-hmac-auth-generate-signature/index.html
+++ b/docs/apisix/2.4/examples/plugins-hmac-auth-generate-signature/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HMAC Generate Signature Examples | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" proper [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -56,7 +56,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">--to base64</span></span><span class="token-line" style="color:#393A34"><span class="token plain">ngx.say(ngx.encode_base64(digest))</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="shell"></a>Shell<a class= [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to lowercase hexits</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </ [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to base64</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </span><span [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 c6daeb4..03ce490 100644
--- a/docs/apisix/2.4/getting-started/index.html
+++ b/docs/apisix/2.4/getting-started/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Getting Started | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conte [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -41,7 +41,7 @@ a web application to perform the similar. The dashboard is available in the foll
<a href="https://github.com/apache/apisix" target="_blank" rel="noopener noreferrer">repository</a>. The dashboard is intuitive and you can orchestrate the
same route configurations via the dashboard as well.</p><p><img src="https://cdn.jsdelivr.net/gh/apache/apisix@release/2.4/docs/assets/images/dashboard.png" alt="Dashboard"></p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="troubleshooting"></a>Troubleshooting<a class="hash-link" href="#troubleshooting" title="Direct link to heading">#</a></h3><ul><li><p>Make sure the required ports are not being used by other systems/processes (Th [...]
The following is the command to kill a process which is listening to a specific port (in unix based systems).</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">``</span><span class="token variable" style="color:#36acaa">`</span [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 b27f979..634a538 100644
--- a/docs/apisix/2.4/grpc-proxy/index.html
+++ b/docs/apisix/2.4/grpc-proxy/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gRPC Proxy | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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 -> APISIX -> 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'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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 c8577d8..bb20458 100644
--- a/docs/apisix/2.4/health-check/index.html
+++ b/docs/apisix/2.4/health-check/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Health Check | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content= [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
you can use it for upstream.</p><p>Note that we only start the health check when the upstream is hit by a request.
There won't be any health check if an upstream is configured but isn'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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 c0f2f07..d29be3c 100644
--- a/docs/apisix/2.4/how-to-build/index.html
+++ b/docs/apisix/2.4/how-to-build/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How to build Apache APISIX | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ see how to do it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor ancho
make sure to set openresty as default nginx. And export the path as below.</li></ul><ul><li>export PATH=/usr/local/openresty/nginx/sbin:$PATH<ul><li>Linux default installation path:<ul><li>export PATH=/usr/local/openresty/nginx/sbin:$PATH</li></ul></li><li>OSx default installation path via homebrew:<ul><li>export PATH=/usr/local/opt/openresty/nginx/sbin:$PATH</li></ul></li></ul></li></ul><p><strong>Run Individual Test Cases</strong></p><ul><li>Use the following command to run test cases [...]
Here is an example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="to [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes?api_key</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">abcdefghabcdefgh-invalid -i</span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="co [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 a14554b..87706f1 100644
--- a/docs/apisix/2.4/https/index.html
+++ b/docs/apisix/2.4/https/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HTTPS | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https: [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -37,7 +37,7 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.4/docs/en/latest/https.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11.7l-3 [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 3919982..b9456ef 100644
--- a/docs/apisix/2.4/install-dependencies/index.html
+++ b/docs/apisix/2.4/install-dependencies/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Dependencies | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -41,7 +41,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:#393A34">&</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">&</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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 4d510b5..9130da6 100644
--- a/docs/apisix/2.4/mtls/index.html
+++ b/docs/apisix/2.4/mtls/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS authentication | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og: [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 2779fc8..65c09de 100644
--- a/docs/apisix/2.4/plugin-develop/index.html
+++ b/docs/apisix/2.4/plugin-develop/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Develop | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -55,7 +55,7 @@ return items of HTTP include HTTP status, HTTP response header, HTTP response bo
You may need to use <a href="/docs/apisix/2.4/plugin-interceptors">interceptors</a> to protect it.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="register-control-api"></a>Register control API<a class="hash-link" href="#register-control-api" title="Direct link to heading">#</a></h3><p>If you only want to expose the API to the localhost or intranet, you can expose it via <a href="/docs/apisix/2.4/control-api">Control API</a>.</p> [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">function _M.control_api()</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> return {</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> {</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> methods = {"GET"},</span></span><span class="token-line" style="color:#393A3 [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 e62dc7c..2a7f9d0 100644
--- a/docs/apisix/2.4/plugin-interceptors/index.html
+++ b/docs/apisix/2.4/plugin-interceptors/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin interceptors | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" c [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ to run rules to protect them.</p><p>Here is an example to limit the access of <c
to clients in <code>10.0.0.0/24</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/pl [...]
the name of plugin which you want to run and the <code>conf</code> is the configuration of the
plugin.</p><p>Currently we only support a subset of plugins which can be run as interceptors.</p><p>Supported interceptors:</p><ul><li><a href="/docs/apisix/2.4/plugins/ip-restriction">ip-restriction</a></li></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/release/2.4/docs/en/latest/plugin-interceptors.md" target="_blank" rel="noreferrer noopener" class="theme-edit- [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 694bb5a..602943c 100644
--- a/docs/apisix/2.4/plugins/api-breaker/index.html
+++ b/docs/apisix/2.4/plugins/api-breaker/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">api-breaker | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 440dd3d..1c77524 100644
--- a/docs/apisix/2.4/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.4/plugins/authz-keycloak/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">authz-keycloak | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -48,7 +48,7 @@ APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div cl
API workflows. Run the following docker image and visit <code>http://localhost:8090</code> to view the associated policies for the unit tests.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">docker run -e </span><span class=" [...]
However, Keycloak'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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 94cb4dc..4b3c330 100644
--- a/docs/apisix/2.4/plugins/basic-auth/index.html
+++ b/docs/apisix/2.4/plugins/basic-auth/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">basic-auth | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="h [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 5fae95f..a42d84a 100644
--- a/docs/apisix/2.4/plugins/batch-requests/index.html
+++ b/docs/apisix/2.4/plugins/batch-requests/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">batch-requests | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a 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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 3f5aaef..9171e6a 100644
--- a/docs/apisix/2.4/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.4/plugins/consumer-restriction/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consumer-restriction | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/services/2 -H </span><span class="token string" style="color:#e3116c">'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1'</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">'</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.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.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 22f6f11..efb6499 100644
--- a/docs/apisix/2.4/plugins/cors/index.html
+++ b/docs/apisix/2.4/plugins/cors/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">cors | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https:/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
When using <code>**</code>, you must fully understand that it introduces some security risks, such as CSRF, so make sure that this security level meets your expectations before using it。</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Create a <code>Route</code> or <code>Service</code> object and con [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/dubbo-proxy/index.html b/docs/apisix/2.4/plugins/dubbo-proxy/index.html
index aae5ba6..b6b4b08 100644
--- a/docs/apisix/2.4/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/2.4/plugins/dubbo-proxy/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">dubbo-proxy | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content=" [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ They should provide the same result.</p><h2><a aria-hidden="true" tabindex="-1"
you can delete the corresponding json configuration in the plugin configuration,
no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
you need to comment out in the <code>config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctuation" style="color:#393A34">:</span><span class="toke [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/echo/index.html b/docs/apisix/2.4/plugins/echo/index.html
index 2210499..9605ad1 100644
--- a/docs/apisix/2.4/plugins/echo/index.html
+++ b/docs/apisix/2.4/plugins/echo/index.html
@@ -16,14 +16,14 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">echo | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" content="https:/ [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/error-log-logger/index.html b/docs/apisix/2.4/plugins/error-log-logger/index.html
index 201e269..9266d32 100644
--- a/docs/apisix/2.4/plugins/error-log-logger/index.html
+++ b/docs/apisix/2.4/plugins/error-log-logger/index.html
@@ -16,15 +16,15 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">error-log-logger | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" cont [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
<a href="/docs/apisix/2.4/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address [...]
It does not need to be bound in any route or service.</p><p>Here is an example of <code>conf/config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punc [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/fault-injection/index.html b/docs/apisix/2.4/plugins/fault-injection/index.html
index e80436d..fe03b39 100644
--- a/docs/apisix/2.4/plugins/fault-injection/index.html
+++ b/docs/apisix/2.4/plugins/fault-injection/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">fault-injection | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conte [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.d4a70b30.js" as="script">
+<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.235860ce.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -42,7 +42,7 @@
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><ol start="2"><li>The request header <code>apikey</code> is successfully matched, and the request parameters are missing, and fault injection is performed:</li></ol><div class="codeBlockC [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><ol start="3"><li>Both request parameters and request headers fail to match, and fault injection is not performed:</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockConte [...]
</span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON [...]
-<script src="/assets/js/runtime~main.9b9ef40f.js"></script>
-<script src="/assets/js/main.12098c32.js"></script>
+<script src="/assets/js/runtime~main.d4a70b30.js"></script>
+<script src="/assets/js/main.235860ce.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/grpc-transcode/index.html b/docs/apisix/2.4/plugins/grpc-transcode/index.html
index 1a4e909..c2e387c 100644
--- a/docs/apisix/2.4/plugins/grpc-transcode/index.html
+++ b/docs/apisix/2.4/plugins/grpc-transcode/index.html
@@ -16,8 +16,8 @@
<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® -- Cloud-Native API Gateway Blog Atom Feed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">grpc-transcode | Apache APISIX® -- Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/img/apache-apisix.png"><meta data-react-helmet="true" property="og:url" conten [...]
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/runtime~main.9b9ef40f.js" as="script">
-<link rel="preload" href="https://cdn.jsdelivr.net/gh/apache/apisix-website@asf-site/assets/js/main.12098c32.js" as="script">
... 57180 lines suppressed ...