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/04/09 02:28:19 UTC

[apisix-website] branch asf-site updated: deploy: 1386053be66ba69408ce469fd5627ab1abaafa61

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 f2e7c27  deploy: 1386053be66ba69408ce469fd5627ab1abaafa61
f2e7c27 is described below

commit f2e7c2750e579a8676a217df6fc7ff2e1ad4c03c
Author: juzhiyuan <ju...@users.noreply.github.com>
AuthorDate: Fri Apr 9 02:28:07 2021 +0000

    deploy: 1386053be66ba69408ce469fd5627ab1abaafa61
---
 404.html                                           | 12 ++--
 assets/js/00ee19e9.728d17a9.js                     |  1 -
 assets/js/00ee19e9.a95bc6be.js                     |  1 +
 assets/js/0132ab2c.1e80667d.js                     |  1 +
 assets/js/0132ab2c.5c1fd9ef.js                     |  1 -
 assets/js/0201ab1c.0479d717.js                     |  1 +
 assets/js/0201ab1c.c2c5a651.js                     |  1 -
 assets/js/034277d8.282e79cc.js                     |  1 +
 assets/js/034277d8.e1db1246.js                     |  1 -
 assets/js/042f2dd8.83aefa64.js                     |  1 -
 assets/js/042f2dd8.c647222b.js                     |  1 +
 assets/js/0484cea7.67806dfc.js                     |  1 -
 assets/js/0484cea7.a760f561.js                     |  1 +
 assets/js/0654f374.5a4921bb.js                     |  1 -
 assets/js/0654f374.92d9df0b.js                     |  1 +
 assets/js/098c8b15.115217e6.js                     |  1 -
 assets/js/098c8b15.9e5068b2.js                     |  1 +
 assets/js/0dc3e78d.55f89cc1.js                     |  1 +
 assets/js/0dc3e78d.a9a2f6c8.js                     |  1 -
 assets/js/1.5eb1a32c.js                            |  1 +
 assets/js/1.6d19ec46.js                            |  1 -
 assets/js/11dba9b3.5d021888.js                     |  1 +
 assets/js/11dba9b3.ed2cdbbf.js                     |  1 -
 assets/js/12e5767f.68e31f2d.js                     |  1 -
 assets/js/12e5767f.b943685e.js                     |  1 +
 assets/js/13dafbb5.19f0a315.js                     |  1 -
 assets/js/13dafbb5.3b18b9dc.js                     |  1 +
 assets/js/162a65a3.5e32392e.js                     |  1 -
 assets/js/162a65a3.7b605a7c.js                     |  1 +
 assets/js/1741c35c.8d17d175.js                     |  1 -
 assets/js/1741c35c.e183d5f6.js                     |  1 +
 assets/js/17896441.3d28a8f3.js                     |  1 -
 assets/js/17896441.95671e70.js                     |  1 +
 assets/js/17d3fec9.58d88a55.js                     |  1 +
 assets/js/17d3fec9.f8e96dba.js                     |  1 -
 assets/js/17dc512b.a4671871.js                     |  1 +
 assets/js/17dc512b.c65a82b3.js                     |  1 -
 assets/js/183.fcb40bc5.js                          |  2 -
 assets/js/184.3a7dd135.js                          |  1 -
 assets/js/185.ac8507df.js                          |  1 -
 assets/js/186.95e6d3f9.js                          |  1 -
 assets/js/187.436816d5.js                          |  1 -
 assets/js/188.6ef04a13.js                          |  1 -
 assets/js/193.c96bb1f6.js                          |  2 +
 .../js/193.c96bb1f6.js.LICENSE.txt                 |  0
 assets/js/194.3cd9389d.js                          |  1 +
 assets/js/195.d3ec0237.js                          |  1 +
 assets/js/196.5b3e2553.js                          |  1 +
 assets/js/197.38a043fd.js                          |  1 +
 assets/js/198.8b6c3ef7.js                          |  1 +
 assets/js/19945770.1181d369.js                     |  1 +
 assets/js/19945770.dc5e1ece.js                     |  1 -
 assets/js/1bc24c0d.02592ee5.js                     |  1 -
 assets/js/1bc24c0d.ee0dbd4b.js                     |  1 +
 assets/js/1be5d2e8.59f52745.js                     |  1 +
 assets/js/1be5d2e8.d21def58.js                     |  1 -
 assets/js/1be78505.cc383951.js                     |  1 +
 assets/js/1be78505.e0d24c13.js                     |  1 -
 assets/js/1c89ab3b.3de84c7d.js                     |  1 -
 assets/js/1c89ab3b.87c16304.js                     |  1 +
 assets/js/1ed156ee.4283935b.js                     |  1 -
 assets/js/1ed156ee.9d5c211b.js                     |  1 +
 assets/js/1fb562de.416087d4.js                     |  1 -
 assets/js/1fb562de.b9a4c98c.js                     |  1 +
 assets/js/2.50a5d8dc.js                            |  2 +
 .../js/2.50a5d8dc.js.LICENSE.txt                   |  0
 assets/js/2.dd50ecc7.js                            |  2 -
 assets/js/25b7c3f2.18bebb60.js                     |  1 +
 assets/js/25b7c3f2.46f93376.js                     |  1 -
 assets/js/25fbf809.d4b159c5.js                     |  1 -
 assets/js/25fbf809.f1ec72aa.js                     |  1 +
 assets/js/264a218f.861a7637.js                     |  1 +
 assets/js/264a218f.ac60f4a3.js                     |  1 -
 assets/js/27858f29.a1bb3f0d.js                     |  1 -
 assets/js/27858f29.bf3625b6.js                     |  1 +
 assets/js/2a2f078e.9cee135a.js                     |  1 +
 assets/js/2a2f078e.a84c235a.js                     |  1 -
 assets/js/2b03a116.4e765717.js                     |  1 -
 assets/js/2b03a116.a3257073.js                     |  1 +
 assets/js/2ceea113.0367f1b3.js                     |  1 -
 assets/js/2ceea113.6092656a.js                     |  1 +
 assets/js/2f1ee7b9.32208f32.js                     |  1 +
 assets/js/2f1ee7b9.c49c58bc.js                     |  1 -
 assets/js/2f7e5bad.580f3574.js                     |  1 +
 assets/js/2f7e5bad.b7dc368b.js                     |  1 -
 assets/js/3.485a7a73.js                            |  1 -
 assets/js/3.4bb9034a.js                            |  1 +
 assets/js/31fa6cf3.acbb5cea.js                     |  1 +
 assets/js/31fa6cf3.d2bcb0a8.js                     |  1 -
 assets/js/32e589c1.4621d672.js                     |  1 -
 assets/js/32e589c1.7ecbcb2d.js                     |  1 +
 assets/js/3316b9c0.56976f80.js                     |  1 -
 assets/js/3316b9c0.b2c198f5.js                     |  1 +
 assets/js/3393d167.51b64f69.js                     |  1 -
 assets/js/3393d167.a3c394f6.js                     |  1 +
 assets/js/358566b4.485664fa.js                     |  1 +
 assets/js/37e3b3ea.8e287a16.js                     |  1 -
 assets/js/37e3b3ea.f33716de.js                     |  1 +
 assets/js/383740fd.abac9d6b.js                     |  1 -
 assets/js/383740fd.bfc5004a.js                     |  1 +
 assets/js/3a136aea.12cb8f8f.js                     |  1 -
 assets/js/3a136aea.c6767958.js                     |  1 +
 assets/js/3ace1223.05983f1b.js                     |  1 +
 assets/js/3ace1223.3a2359d9.js                     |  1 -
 assets/js/3dc9f306.2c8482e3.js                     |  1 +
 assets/js/3dc9f306.65510f29.js                     |  1 -
 assets/js/4.40808762.js                            |  1 +
 assets/js/4.bed3a1bc.js                            |  1 -
 assets/js/40fb2fae.3e541a0a.js                     |  1 +
 assets/js/41a31a3f.19599bd0.js                     |  1 -
 assets/js/41a31a3f.e8aedb7c.js                     |  1 +
 assets/js/41b4926b.084a0445.js                     |  1 +
 assets/js/41b4926b.312a1d00.js                     |  1 -
 assets/js/43aea6af.1adf4bf2.js                     |  1 +
 assets/js/43aea6af.e4302afb.js                     |  1 -
 assets/js/47e0bf55.822e4208.js                     |  1 +
 assets/js/47e0bf55.cf9d07f0.js                     |  1 -
 assets/js/47f8a22a.3b6d1ee3.js                     |  1 -
 assets/js/47f8a22a.6e14bdf8.js                     |  1 +
 assets/js/4842b438.9f899c55.js                     |  1 -
 assets/js/4842b438.ea6b3584.js                     |  1 +
 assets/js/4b0b9689.18003f85.js                     |  1 -
 assets/js/4b0b9689.aafb35e5.js                     |  1 +
 assets/js/4e55a385.2dfb7031.js                     |  1 +
 assets/js/4e55a385.7897ddb6.js                     |  1 -
 assets/js/4eed9ed2.059d4db7.js                     |  1 +
 assets/js/4eed9ed2.cacfe61d.js                     |  1 -
 assets/js/4f34f66f.b0eeec54.js                     |  1 +
 assets/js/4f34f66f.df52ebeb.js                     |  1 -
 assets/js/4f7f961a.e27acfd2.js                     |  1 -
 assets/js/4f7f961a.fd3b2a83.js                     |  1 +
 assets/js/50facf8e.1d11c0c7.js                     |  1 -
 assets/js/50facf8e.37302a53.js                     |  1 +
 assets/js/514de2af.4feffba1.js                     |  1 -
 assets/js/514de2af.b7e815e3.js                     |  1 +
 assets/js/5381c375.5059970c.js                     |  1 -
 assets/js/5381c375.f41c5426.js                     |  1 +
 assets/js/5426aede.656943f6.js                     |  1 +
 assets/js/5426aede.a0461816.js                     |  1 -
 assets/js/562da56c.b76d7fe0.js                     |  1 +
 assets/js/574dc000.d60c2356.js                     |  1 -
 assets/js/574dc000.d89552fc.js                     |  1 +
 assets/js/579f31ee.95aeb9b1.js                     |  1 -
 assets/js/579f31ee.f19e58db.js                     |  1 +
 assets/js/59472992.96a67839.js                     |  1 +
 assets/js/59472992.a9b43be8.js                     |  1 -
 assets/js/5aca9bfb.8eeb1a37.js                     |  1 -
 assets/js/5aca9bfb.f05548c4.js                     |  1 +
 assets/js/5b9020fd.21e453d1.js                     |  1 -
 assets/js/5b9020fd.85467d8b.js                     |  1 +
 assets/js/5bb67ffc.65ddfe33.js                     |  1 +
 assets/js/5bb67ffc.bc7c83bd.js                     |  1 -
 assets/js/5c21e7f7.4a6d7226.js                     |  1 -
 assets/js/5c21e7f7.aa7a999b.js                     |  1 +
 assets/js/601c6eaa.72dca6af.js                     |  1 -
 assets/js/601c6eaa.98f6479c.js                     |  1 +
 assets/js/601cd3be.025ec0e6.js                     |  1 -
 assets/js/601cd3be.a739e831.js                     |  1 +
 assets/js/63468b30.50a5c6b6.js                     |  1 +
 assets/js/63468b30.a4153f58.js                     |  1 -
 assets/js/64288df6.00080342.js                     |  1 +
 assets/js/64288df6.61c35531.js                     |  1 -
 assets/js/645be848.3edd2a23.js                     |  1 +
 assets/js/645be848.c082a46c.js                     |  1 -
 assets/js/65962b6f.2109b88a.js                     |  1 +
 assets/js/65962b6f.21d1e6e7.js                     |  1 -
 assets/js/66fbb9c2.58046a03.js                     |  1 +
 assets/js/66fbb9c2.8ed107c1.js                     |  1 -
 assets/js/679cfa79.b2feb48a.js                     |  1 +
 assets/js/679cfa79.e432a6e4.js                     |  1 -
 assets/js/6967878f.788fe9a0.js                     |  1 +
 assets/js/6967878f.896e5b40.js                     |  1 -
 assets/js/6d5713a9.aaba983d.js                     |  1 -
 assets/js/6d5713a9.b67fe0ea.js                     |  1 +
 assets/js/6e5db0c1.5d87de1a.js                     |  1 +
 assets/js/6e5db0c1.cb3dd894.js                     |  1 -
 assets/js/6f365930.0e080615.js                     |  1 -
 assets/js/6f365930.625d9841.js                     |  1 +
 assets/js/70fb06d4.22ad3b35.js                     |  1 -
 assets/js/70fb06d4.f474c9ce.js                     |  1 +
 assets/js/7193710f.13d808bb.js                     |  1 -
 assets/js/7193710f.f6edc4cc.js                     |  1 +
 assets/js/71950930.60c64aff.js                     |  1 -
 assets/js/71950930.ba56a627.js                     |  1 +
 assets/js/72cd189b.a03c3c1f.js                     |  1 -
 assets/js/72cd189b.c4bf619a.js                     |  1 +
 assets/js/72ff46d3.184255bc.js                     |  1 -
 assets/js/72ff46d3.9219c07a.js                     |  1 +
 assets/js/746acb87.42d304f0.js                     |  1 -
 assets/js/746acb87.ff74e5d7.js                     |  1 +
 assets/js/746d4aad.4675c10d.js                     |  1 +
 assets/js/746d4aad.67b51b99.js                     |  1 -
 assets/js/74848684.cb209533.js                     |  1 +
 assets/js/749ed826.91e785fe.js                     |  1 +
 assets/js/749ed826.a41b9848.js                     |  1 -
 assets/js/7af3052c.74223a27.js                     |  1 -
 assets/js/7af3052c.745ca141.js                     |  1 +
 assets/js/7e37206e.b77e1efe.js                     |  1 +
 assets/js/7e37206e.e132109d.js                     |  1 -
 assets/js/81f18807.4584c8ca.js                     |  1 +
 assets/js/81f18807.8e898f3b.js                     |  1 -
 assets/js/83cf9161.66989c88.js                     |  1 -
 assets/js/83cf9161.b7c0c582.js                     |  1 +
 assets/js/84a8b022.d40b320a.js                     |  1 +
 assets/js/84a8b022.f8e7d4c0.js                     |  1 -
 assets/js/84d2a1f2.2df2b1dc.js                     |  1 -
 assets/js/84d2a1f2.5c82441b.js                     |  1 +
 assets/js/84ebf226.51f0808a.js                     |  1 -
 assets/js/84ebf226.e3667d47.js                     |  1 +
 assets/js/859cc09f.b88a2174.js                     |  1 +
 assets/js/859cc09f.c4d9e1e7.js                     |  1 -
 assets/js/860d73b2.89add526.js                     |  1 -
 assets/js/860d73b2.d3bde19b.js                     |  1 +
 assets/js/89d0b30c.1c529742.js                     |  1 +
 assets/js/89d0b30c.252cf278.js                     |  1 -
 assets/js/8b956bd2.07835c11.js                     |  1 -
 assets/js/8b956bd2.2f5d566d.js                     |  1 +
 assets/js/8cdcb209.0c019d63.js                     |  1 -
 assets/js/8cdcb209.ca2b5d23.js                     |  1 +
 assets/js/8e27d69a.03e1ea99.js                     |  1 -
 assets/js/8e27d69a.c6ae961e.js                     |  1 +
 assets/js/8e784bf3.4a4e7e67.js                     |  1 -
 assets/js/8e784bf3.56c3e6ad.js                     |  1 +
 assets/js/91ce05ef.077b5d37.js                     |  1 +
 assets/js/91ce05ef.76fa49c1.js                     |  1 -
 assets/js/92b07c7e.29dc6594.js                     |  1 -
 assets/js/92b07c7e.af459b5b.js                     |  1 +
 assets/js/92dfebd0.4895176e.js                     |  1 +
 assets/js/93013804.a93a3488.js                     |  1 -
 assets/js/93013804.b30eac3f.js                     |  1 +
 assets/js/935f2afb.020ee085.js                     |  1 -
 assets/js/935f2afb.9a1bbfee.js                     |  1 +
 assets/js/95244615.6d74d7af.js                     |  1 +
 assets/js/95244615.aa8e85ff.js                     |  1 -
 assets/js/95e0e949.bca7d023.js                     |  1 -
 assets/js/95e0e949.dab407d0.js                     |  1 +
 assets/js/96ff6680.164b92b6.js                     |  1 +
 assets/js/96ff6680.22acbec5.js                     |  1 -
 assets/js/98c69322.5c3a5acb.js                     |  1 -
 assets/js/98c69322.99cb2e16.js                     |  1 +
 assets/js/9969a994.7b060153.js                     |  1 -
 assets/js/9969a994.9b4516c8.js                     |  1 +
 assets/js/9c26c05d.c5b3934d.js                     |  1 +
 assets/js/9c26c05d.cf890f5b.js                     |  1 -
 assets/js/9d971112.15b32393.js                     |  1 +
 assets/js/9d971112.fa647595.js                     |  1 -
 assets/js/9da58367.d1b175fa.js                     |  1 +
 assets/js/9da58367.f98b0f54.js                     |  1 -
 assets/js/9dc47d34.3ac3fd3e.js                     |  1 +
 assets/js/9dc47d34.749d4cd8.js                     |  1 -
 assets/js/a06dfdd3.0dae3263.js                     |  1 +
 assets/js/a06dfdd3.b105299e.js                     |  1 -
 assets/js/a138bbe3.2b3ef917.js                     |  1 -
 assets/js/a138bbe3.60a8d3e4.js                     |  1 +
 assets/js/a4a2cefa.67b7bdf7.js                     |  1 -
 assets/js/a4a2cefa.b00136ad.js                     |  1 +
 assets/js/a650e70d.0a23e2c0.js                     |  1 +
 assets/js/a6641250.0fe42427.js                     |  1 -
 assets/js/a6641250.64a94a40.js                     |  1 +
 assets/js/a6aa9e1f.60f16021.js                     |  1 -
 assets/js/a6aa9e1f.76f2b1ba.js                     |  1 +
 assets/js/ab6cb272.951806d3.js                     |  1 +
 assets/js/ab6cb272.ed74c0ac.js                     |  1 -
 assets/js/ad461966.317bef85.js                     |  1 +
 assets/js/ad461966.65634e02.js                     |  1 -
 assets/js/adbb350b.45ebfb61.js                     |  1 +
 assets/js/adbb350b.9f629678.js                     |  1 -
 assets/js/af4112e0.5d838873.js                     |  1 +
 assets/js/af4112e0.7be6a64f.js                     |  1 -
 assets/js/b0e5e822.53e589db.js                     |  1 +
 assets/js/b0e5e822.7ea5169d.js                     |  1 -
 assets/js/b28b7341.b7a0f6f4.js                     |  1 +
 assets/js/b28b7341.da353a44.js                     |  1 -
 assets/js/b2b675dd.af75ded3.js                     |  1 -
 assets/js/b2b675dd.c0f6b8df.js                     |  1 +
 assets/js/b3ea87e1.35879742.js                     |  1 +
 assets/js/b3ea87e1.9b415849.js                     |  1 -
 assets/js/b436937a.15e24f6a.js                     |  1 +
 assets/js/b436937a.4dc88aa5.js                     |  1 -
 assets/js/b4a67526.090953e6.js                     |  1 +
 assets/js/b4a67526.e2598a61.js                     |  1 -
 assets/js/b58143c5.09152338.js                     |  1 -
 assets/js/b58143c5.b1c0dab7.js                     |  1 +
 assets/js/b5a39df0.6f86300f.js                     |  1 +
 assets/js/b5a39df0.782ee376.js                     |  1 -
 assets/js/bacea567.971f589a.js                     |  1 -
 assets/js/bacea567.aa537848.js                     |  1 +
 assets/js/bd3a6b69.ae013042.js                     |  1 -
 assets/js/bd3a6b69.c8f243fe.js                     |  1 +
 assets/js/bec177a9.f361db2d.js                     |  1 +
 assets/js/c119cf3c.516b90d3.js                     |  1 +
 assets/js/c119cf3c.caae9925.js                     |  1 -
 assets/js/c2f0cd73.4af51e15.js                     |  1 +
 assets/js/c44a0953.26cdf26a.js                     |  1 +
 assets/js/c44a0953.b5f87489.js                     |  1 -
 assets/js/c4f5d8e4.4578d384.js                     |  1 -
 assets/js/c4f5d8e4.e95ff947.js                     |  1 +
 assets/js/c5594f1a.4a911b89.js                     |  1 +
 assets/js/c5594f1a.bf77b89f.js                     |  1 -
 assets/js/c6a4007d.335d05be.js                     |  1 +
 assets/js/c888429e.506de5d4.js                     |  1 -
 assets/js/c888429e.9ea8f89d.js                     |  1 +
 assets/js/c9f6a9fb.3dae1604.js                     |  1 +
 assets/js/c9f6a9fb.a88aed01.js                     |  1 -
 assets/js/ca5ff64e.5ec57037.js                     |  1 +
 assets/js/ca5ff64e.e31a568b.js                     |  1 -
 assets/js/ccc49370.b6148211.js                     |  1 -
 assets/js/ccc49370.e61c2657.js                     |  1 +
 assets/js/cf167ebd.05c38ed5.js                     |  1 +
 assets/js/cf167ebd.2142c971.js                     |  1 -
 assets/js/cf554819.c54f7806.js                     |  1 +
 assets/js/cf554819.dba230ac.js                     |  1 -
 assets/js/d0f73e13.eaf73011.js                     |  1 -
 assets/js/d0f73e13.f9e47ff4.js                     |  1 +
 assets/js/d18db9b0.3687bb7f.js                     |  1 -
 assets/js/d18db9b0.c83401c5.js                     |  1 +
 assets/js/d2247e49.392c93e6.js                     |  1 -
 assets/js/d2247e49.7660254d.js                     |  1 +
 assets/js/d3321028.bd3678b6.js                     |  1 +
 assets/js/d3321028.dd9f66c9.js                     |  1 -
 assets/js/d3e633ff.22645c7c.js                     |  1 -
 assets/js/d3e633ff.c7cf4b55.js                     |  1 +
 assets/js/d4de91ec.3b5fc76e.js                     |  1 -
 assets/js/d4de91ec.5c95a4d2.js                     |  1 +
 assets/js/d73fca9b.6881e694.js                     |  1 -
 assets/js/d73fca9b.eae4cf90.js                     |  1 +
 assets/js/d9418bf0.4fa14632.js                     |  1 -
 assets/js/d9418bf0.5fb69fb7.js                     |  1 +
 assets/js/da9aeeeb.5c3972f4.js                     |  1 +
 assets/js/da9aeeeb.da5379af.js                     |  1 -
 assets/js/dcb3fc1e.3c1fe1c2.js                     |  1 +
 assets/js/dcb3fc1e.d7d38f43.js                     |  1 -
 assets/js/dd639a99.74b40cca.js                     |  1 +
 assets/js/dd639a99.7b1f28be.js                     |  1 -
 assets/js/e02da2c5.d05e8e87.js                     |  1 -
 assets/js/e02da2c5.dcf1673e.js                     |  1 +
 assets/js/e1a3b18d.32be2215.js                     |  1 +
 assets/js/e1a3b18d.a9e5db45.js                     |  1 -
 assets/js/e278666a.36139cb9.js                     |  1 +
 assets/js/e278666a.5830f3c3.js                     |  1 -
 assets/js/e3d364e1.58ce1868.js                     |  1 -
 assets/js/e3d364e1.5ee59607.js                     |  1 +
 assets/js/e451ae2c.5bd28541.js                     |  1 +
 assets/js/e451ae2c.eacb8c12.js                     |  1 -
 assets/js/e461335b.4745a367.js                     |  1 +
 assets/js/e461335b.df841a90.js                     |  1 -
 assets/js/e5ad0cc6.11d6bff1.js                     |  1 +
 assets/js/e5ad0cc6.b9844ca8.js                     |  1 -
 assets/js/e60dd3b0.46ded9ba.js                     |  1 -
 assets/js/e60dd3b0.d269712f.js                     |  1 +
 assets/js/e75fbec5.4f91250d.js                     |  1 +
 assets/js/e75fbec5.d2b4fd6b.js                     |  1 -
 assets/js/e7ebab94.096e3421.js                     |  1 +
 assets/js/e7ebab94.5969a2c7.js                     |  1 -
 assets/js/ec546d2e.32a5fff4.js                     |  1 +
 assets/js/ec546d2e.99098154.js                     |  1 -
 assets/js/ed20433f.5a66daa3.js                     |  1 +
 assets/js/ed20433f.b3294a15.js                     |  1 -
 assets/js/ef63a76e.88e294a9.js                     |  1 -
 assets/js/ef63a76e.f5b7f62b.js                     |  1 +
 assets/js/f1d91454.de533a3d.js                     |  1 +
 assets/js/f202f54b.b35d88ee.js                     |  1 +
 assets/js/f202f54b.d3321997.js                     |  1 -
 assets/js/f243156b.2711cc34.js                     |  1 +
 assets/js/f243156b.46fa0740.js                     |  1 -
 assets/js/f45d06d8.ca462b04.js                     |  1 +
 assets/js/f45d06d8.def398f4.js                     |  1 -
 assets/js/f4620fb6.7e3511ac.js                     |  1 +
 assets/js/f4620fb6.b37d7414.js                     |  1 -
 assets/js/f6cd6006.409a5a8c.js                     |  1 -
 assets/js/f6cd6006.a8f5876a.js                     |  1 +
 assets/js/f7488fe8.ce816f16.js                     |  1 +
 assets/js/f7488fe8.ee0ee040.js                     |  1 -
 assets/js/f7b3f6db.009492b8.js                     |  1 +
 assets/js/f7b3f6db.067b76bb.js                     |  1 -
 assets/js/f8217c69.1644d64f.js                     |  1 +
 assets/js/f8217c69.5dd9b071.js                     |  1 -
 assets/js/fa919c95.9a3b6b8c.js                     |  1 +
 assets/js/fa919c95.cc60b3c2.js                     |  1 -
 assets/js/fd72aa65.8da8d664.js                     |  1 -
 assets/js/fd72aa65.bc4af9fa.js                     |  1 +
 assets/js/ff8d1795.2b668ec8.js                     |  1 -
 assets/js/ff8d1795.396aceed.js                     |  1 +
 assets/js/main.870ee703.js                         |  2 +
 .../js/main.870ee703.js.LICENSE.txt                |  0
 assets/js/main.f4eaff19.js                         |  2 -
 assets/js/runtime~main.03424be9.js                 |  1 +
 assets/js/runtime~main.1b59a140.js                 |  1 -
 assets/js/styles.f44d8aad.js                       |  1 +
 assets/js/styles.f56fa583.js                       |  1 -
 blog/2020/08/22/new-website/index.html             | 32 +++++-----
 .../index.html                                     | 32 +++++-----
 .../index.html                                     | 32 +++++-----
 .../21/run-ingress-apisix-on-amazon-eks/index.html | 32 +++++-----
 .../index.html                                     | 32 +++++-----
 .../index.html                                     | 32 +++++-----
 .../index.html                                     | 32 +++++-----
 .../index.html                                     | 32 +++++-----
 blog/index.html                                    | 64 ++++++++++----------
 docs/apisix/FAQ/index.html                         | 36 ++++++------
 docs/apisix/IGNORE_DOC/index.html                  | 36 ++++++------
 docs/apisix/admin-api/index.html                   | 36 ++++++------
 docs/apisix/architecture-design/apisix/index.html  | 36 ++++++------
 .../apisix/architecture-design/consumer/index.html | 36 ++++++------
 .../architecture-design/debug-mode/index.html      | 36 ++++++------
 .../architecture-design/global-rule/index.html     | 36 ++++++------
 .../architecture-design/plugin-config/index.html   | 36 ++++++------
 docs/apisix/architecture-design/plugin/index.html  | 36 ++++++------
 docs/apisix/architecture-design/route/index.html   | 36 ++++++------
 docs/apisix/architecture-design/router/index.html  | 36 ++++++------
 docs/apisix/architecture-design/script/index.html  | 36 ++++++------
 docs/apisix/architecture-design/service/index.html | 36 ++++++------
 .../apisix/architecture-design/upstream/index.html | 36 ++++++------
 docs/apisix/aws/index.html                         | 36 ++++++------
 docs/apisix/batch-processor/index.html             | 36 ++++++------
 docs/apisix/benchmark/index.html                   | 36 ++++++------
 docs/apisix/control-api/index.html                 | 36 ++++++------
 .../customize-nginx-configuration/index.html       | 36 ++++++------
 docs/apisix/debug-function/index.html              | 36 ++++++------
 docs/apisix/discovery/consul_kv/index.html         | 36 ++++++------
 docs/apisix/discovery/dns/index.html               | 36 ++++++------
 docs/apisix/discovery/eureka/index.html            | 36 ++++++------
 docs/apisix/discovery/index.html                   | 36 ++++++------
 .../index.html                                     | 36 ++++++------
 docs/apisix/getting-started/index.html             | 36 ++++++------
 docs/apisix/grpc-proxy/index.html                  | 36 ++++++------
 docs/apisix/health-check/index.html                | 36 ++++++------
 docs/apisix/how-to-build/index.html                | 36 ++++++------
 docs/apisix/https/index.html                       | 36 ++++++------
 docs/apisix/install-dependencies/index.html        | 36 ++++++------
 docs/apisix/mtls/index.html                        | 36 ++++++------
 docs/apisix/plugin-develop/index.html              | 36 ++++++------
 docs/apisix/plugin-interceptors/index.html         | 36 ++++++------
 docs/apisix/plugins/api-breaker/index.html         | 36 ++++++------
 docs/apisix/plugins/authz-keycloak/index.html      | 36 ++++++------
 docs/apisix/plugins/basic-auth/index.html          | 36 ++++++------
 docs/apisix/plugins/batch-requests/index.html      | 36 ++++++------
 .../apisix/plugins/consumer-restriction/index.html | 36 ++++++------
 docs/apisix/plugins/cors/index.html                | 36 ++++++------
 docs/apisix/plugins/dubbo-proxy/index.html         | 36 ++++++------
 docs/apisix/plugins/echo/index.html                | 36 ++++++------
 docs/apisix/plugins/error-log-logger/index.html    | 36 ++++++------
 docs/apisix/plugins/fault-injection/index.html     | 36 ++++++------
 docs/apisix/plugins/grpc-transcode/index.html      | 36 ++++++------
 docs/apisix/plugins/hmac-auth/index.html           | 36 ++++++------
 docs/apisix/plugins/http-logger/index.html         | 36 ++++++------
 docs/apisix/plugins/index.html                     | 36 ++++++------
 docs/apisix/plugins/ip-restriction/index.html      | 36 ++++++------
 docs/apisix/plugins/jwt-auth/index.html            | 36 ++++++------
 docs/apisix/plugins/kafka-logger/index.html        | 36 ++++++------
 docs/apisix/plugins/key-auth/index.html            | 36 ++++++------
 docs/apisix/plugins/limit-conn/index.html          | 36 ++++++------
 docs/apisix/plugins/limit-count/index.html         | 36 ++++++------
 docs/apisix/plugins/limit-req/index.html           | 36 ++++++------
 docs/apisix/plugins/log-rotate/index.html          | 36 ++++++------
 docs/apisix/plugins/mqtt-proxy/index.html          | 36 ++++++------
 docs/apisix/plugins/node-status/index.html         | 36 ++++++------
 docs/apisix/plugins/openid-connect/index.html      | 36 ++++++------
 docs/apisix/plugins/prometheus/index.html          | 36 ++++++------
 docs/apisix/plugins/proxy-cache/index.html         | 36 ++++++------
 docs/apisix/plugins/proxy-mirror/index.html        | 36 ++++++------
 docs/apisix/plugins/proxy-rewrite/index.html       | 36 ++++++------
 docs/apisix/plugins/redirect/index.html            | 36 ++++++------
 docs/apisix/plugins/referer-restriction/index.html | 36 ++++++------
 docs/apisix/plugins/request-id/index.html          | 36 ++++++------
 docs/apisix/plugins/request-validation/index.html  | 36 ++++++------
 docs/apisix/plugins/response-rewrite/index.html    | 36 ++++++------
 docs/apisix/plugins/server-info/index.html         | 36 ++++++------
 docs/apisix/plugins/serverless/index.html          | 36 ++++++------
 docs/apisix/plugins/skywalking/index.html          | 36 ++++++------
 docs/apisix/plugins/sls-logger/index.html          | 36 ++++++------
 docs/apisix/plugins/syslog/index.html              | 36 ++++++------
 docs/apisix/plugins/tcp-logger/index.html          | 36 ++++++------
 docs/apisix/plugins/traffic-split/index.html       | 36 ++++++------
 docs/apisix/plugins/udp-logger/index.html          | 36 ++++++------
 docs/apisix/plugins/uri-blocker/index.html         | 36 ++++++------
 docs/apisix/plugins/wolf-rbac/index.html           | 36 ++++++------
 docs/apisix/plugins/zipkin/index.html              | 36 ++++++------
 docs/apisix/profile/index.html                     | 36 ++++++------
 docs/apisix/router-radixtree/index.html            | 36 ++++++------
 docs/apisix/stand-alone/index.html                 | 36 ++++++------
 docs/apisix/stream-proxy/index.html                | 36 ++++++------
 docs/dashboard/FAQ/index.html                      | 36 ++++++------
 docs/dashboard/I18N_USER_GUIDE/index.html          | 36 ++++++------
 docs/dashboard/IGNORE_DOC/index.html               | 36 ++++++------
 .../dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html | 36 ++++++------
 docs/dashboard/USER_GUIDE/index.html               | 36 ++++++------
 docs/dashboard/api/api/index.html                  | 36 ++++++------
 docs/dashboard/back-end-tests/index.html           | 36 ++++++------
 docs/dashboard/deploy-with-docker/index.html       | 36 ++++++------
 docs/dashboard/deploy-with-rpm/index.html          | 36 ++++++------
 docs/dashboard/deploy/index.html                   | 36 ++++++------
 docs/dashboard/develop/index.html                  | 36 ++++++------
 docs/dashboard/front-end-e2e/index.html            | 36 ++++++------
 docs/docker/IGNORE_DOC/index.html                  | 41 +++++++++++++
 docs/docker/build/index.html                       | 42 +++++++++++++
 docs/docker/example/index.html                     | 50 ++++++++++++++++
 docs/docker/manual/index.html                      | 41 +++++++++++++
 docs/general/2fa/index.html                        | 38 ++++++------
 docs/general/committer-guide/index.html            | 38 ++++++------
 docs/general/contributor-guide/index.html          | 38 ++++++------
 .../general/integrate-with-project-docs/index.html | 38 ++++++------
 docs/general/release-guide/index.html              | 38 ++++++------
 docs/general/security/index.html                   | 38 ++++++------
 docs/general/subscribe-guide/index.html            | 38 ++++++------
 docs/helm-chart/IGNORE_DOC/index.html              | 41 +++++++++++++
 docs/helm-chart/apisix-dashboard/index.html        | 41 +++++++++++++
 .../apisix-ingress-controller/index.html           | 41 +++++++++++++
 docs/helm-chart/apisix/index.html                  | 41 +++++++++++++
 docs/index.html                                    | 28 ++++-----
 docs/ingress-controller/FAQ/index.html             | 36 ++++++------
 docs/ingress-controller/IGNORE_DOC/index.html      | 36 ++++++------
 .../concepts/apisix_route/index.html               | 36 ++++++------
 .../concepts/apisix_tls/index.html                 | 36 ++++++------
 .../concepts/apisix_upstream/index.html            | 36 ++++++------
 docs/ingress-controller/contribute/index.html      | 36 ++++++------
 docs/ingress-controller/deployments/ack/index.html | 36 ++++++------
 docs/ingress-controller/deployments/aws/index.html | 36 ++++++------
 .../deployments/azure/index.html                   | 36 ++++++------
 docs/ingress-controller/deployments/gke/index.html | 36 ++++++------
 .../deployments/k3s-rke/index.html                 | 36 ++++++------
 .../deployments/kubesphere/index.html              | 36 ++++++------
 .../deployments/minikube/index.html                | 36 ++++++------
 docs/ingress-controller/deployments/tke/index.html | 36 ++++++------
 docs/ingress-controller/design/index.html          | 36 ++++++------
 docs/ingress-controller/development/index.html     | 36 ++++++------
 docs/ingress-controller/getting-started/index.html | 36 ++++++------
 docs/ingress-controller/practices/index/index.html | 36 ++++++------
 .../index.html                                     | 36 ++++++------
 .../practices/proxy-the-httpbin-service/index.html | 36 ++++++------
 .../references/apisix_route_v1/index.html          | 36 ++++++------
 .../references/apisix_route_v2alpha1/index.html    | 36 ++++++------
 .../references/apisix_tls/index.html               | 36 ++++++------
 .../references/apisix_upstream/index.html          | 36 ++++++------
 downloads/ProjectCard/index.html                   | 24 ++++----
 downloads/index.html                               | 32 +++++-----
 .../index.html                                     | 36 ++++++------
 .../index.html                                     | 36 ++++++------
 .../02/09/release-apache-apisix-2.3/index.html     | 36 ++++++------
 .../index.html                                     | 36 ++++++------
 .../release-apache-apisix-dashboard-2.4/index.html | 36 ++++++------
 .../03/05/release-apache-apisix-2.4/index.html     | 36 ++++++------
 .../index.html                                     | 36 ++++++------
 .../04/05/release-apache-apisix-2.5/index.html     | 36 ++++++------
 events/index.html                                  | 68 +++++++++++-----------
 help/index.html                                    | 28 ++++-----
 index.html                                         | 28 ++++-----
 search/index.html                                  | 24 ++++----
 sitemap.xml                                        |  2 +-
 team/index.html                                    | 28 ++++-----
 zh/404.html                                        | 12 ++--
 zh/assets/js/034277d8.32b9b06e.js                  |  1 -
 zh/assets/js/034277d8.aa7bfd1b.js                  |  1 +
 zh/assets/js/037099b5.0c9668f2.js                  |  1 -
 zh/assets/js/037099b5.49d75408.js                  |  1 +
 zh/assets/js/03de1839.75d09be2.js                  |  1 +
 zh/assets/js/03de1839.e859dc25.js                  |  1 -
 zh/assets/js/04e190df.6c9eb28d.js                  |  1 -
 zh/assets/js/04e190df.c7ab72ce.js                  |  1 +
 zh/assets/js/06c82324.3ad6fff2.js                  |  1 -
 zh/assets/js/06c82324.f0d9b76c.js                  |  1 +
 zh/assets/js/0b43ab26.73cd4451.js                  |  1 +
 zh/assets/js/0b43ab26.ba316d6c.js                  |  1 -
 zh/assets/js/0b8428f5.8e36f99a.js                  |  1 +
 zh/assets/js/0b8428f5.fc368fa0.js                  |  1 -
 zh/assets/js/0e9e839b.9bfaa646.js                  |  1 -
 zh/assets/js/0e9e839b.db1503fc.js                  |  1 +
 zh/assets/js/1.5eb1a32c.js                         |  1 +
 zh/assets/js/1.6d19ec46.js                         |  1 -
 zh/assets/js/12e5767f.4f1139ac.js                  |  1 -
 zh/assets/js/12e5767f.9b67b4a8.js                  |  1 +
 zh/assets/js/15a0356b.52d6489d.js                  |  1 -
 zh/assets/js/15a0356b.55aa0485.js                  |  1 +
 zh/assets/js/1617d371.48db0eb6.js                  |  1 +
 zh/assets/js/1617d371.737161cb.js                  |  1 -
 zh/assets/js/163910ed.db4ed044.js                  |  1 +
 zh/assets/js/163910ed.dd3080c1.js                  |  1 -
 zh/assets/js/17896441.abe18222.js                  |  1 -
 zh/assets/js/17896441.ee48d631.js                  |  1 +
 zh/assets/js/17dc512b.3ddfa28c.js                  |  1 -
 zh/assets/js/17dc512b.ff249f5a.js                  |  1 +
 zh/assets/js/183.f4c01b00.js                       |  2 -
 zh/assets/js/184.3a7dd135.js                       |  1 -
 zh/assets/js/185.ac8507df.js                       |  1 -
 zh/assets/js/186.95e6d3f9.js                       |  1 -
 zh/assets/js/187.436816d5.js                       |  1 -
 zh/assets/js/188.6ef04a13.js                       |  1 -
 zh/assets/js/193.f1974b98.js                       |  2 +
 .../assets/js/193.f1974b98.js.LICENSE.txt          |  0
 zh/assets/js/194.3cd9389d.js                       |  1 +
 zh/assets/js/195.d3ec0237.js                       |  1 +
 zh/assets/js/196.5b3e2553.js                       |  1 +
 zh/assets/js/197.38a043fd.js                       |  1 +
 zh/assets/js/198.8b6c3ef7.js                       |  1 +
 zh/assets/js/19945770.89a6c24d.js                  |  1 -
 zh/assets/js/19945770.de05fdb6.js                  |  1 +
 zh/assets/js/1b9ff391.385aa152.js                  |  1 +
 zh/assets/js/1b9ff391.933e5d14.js                  |  1 -
 zh/assets/js/1be5d2e8.00830a0f.js                  |  1 -
 zh/assets/js/1be5d2e8.1cd921d2.js                  |  1 +
 zh/assets/js/1be78505.3a215be1.js                  |  1 +
 zh/assets/js/1be78505.80b0666c.js                  |  1 -
 zh/assets/js/1c89ab3b.51521b1c.js                  |  1 -
 zh/assets/js/1c89ab3b.eb257110.js                  |  1 +
 zh/assets/js/1fb167aa.2f39e236.js                  |  1 -
 zh/assets/js/1fb167aa.300d1f96.js                  |  1 +
 zh/assets/js/2.50a5d8dc.js                         |  2 +
 .../assets/js/2.50a5d8dc.js.LICENSE.txt            |  0
 zh/assets/js/2.dd50ecc7.js                         |  2 -
 zh/assets/js/23d9fbcb.0c07ab06.js                  |  1 -
 zh/assets/js/23d9fbcb.57367313.js                  |  1 +
 zh/assets/js/2503b74e.1271d290.js                  |  1 +
 zh/assets/js/2503b74e.8bbf7b2b.js                  |  1 -
 zh/assets/js/25b7c3f2.cd14fd5c.js                  |  1 +
 zh/assets/js/25b7c3f2.f6980e61.js                  |  1 -
 zh/assets/js/264a218f.78a16aff.js                  |  1 +
 zh/assets/js/264a218f.dbf93b30.js                  |  1 -
 zh/assets/js/27858f29.a39bd25c.js                  |  1 -
 zh/assets/js/27858f29.ee408777.js                  |  1 +
 zh/assets/js/27c14716.37e12b22.js                  |  1 +
 zh/assets/js/27c14716.3f5fc0c1.js                  |  1 -
 zh/assets/js/2ceea113.4be45ca4.js                  |  1 -
 zh/assets/js/2ceea113.57210711.js                  |  1 +
 zh/assets/js/2eb8f890.4393b960.js                  |  1 -
 zh/assets/js/2eb8f890.853bc1e2.js                  |  1 +
 zh/assets/js/2f1ee7b9.4b9e0562.js                  |  1 +
 zh/assets/js/2f1ee7b9.5c3b7e99.js                  |  1 -
 zh/assets/js/3.485a7a73.js                         |  1 -
 zh/assets/js/3.4bb9034a.js                         |  1 +
 zh/assets/js/30c882a5.271440a5.js                  |  1 +
 zh/assets/js/30c882a5.41df7f15.js                  |  1 -
 zh/assets/js/30dc1fa0.46d04050.js                  |  1 -
 zh/assets/js/30dc1fa0.98c8e43a.js                  |  1 +
 zh/assets/js/320d67fa.8d4f264e.js                  |  1 -
 zh/assets/js/320d67fa.c192bf33.js                  |  1 +
 zh/assets/js/3316b9c0.6c1887a8.js                  |  1 +
 zh/assets/js/3316b9c0.78adebc2.js                  |  1 -
 zh/assets/js/3393d167.1c6727b4.js                  |  1 -
 zh/assets/js/3393d167.9d1006e0.js                  |  1 +
 zh/assets/js/342a6d70.57f6d33e.js                  |  1 -
 zh/assets/js/342a6d70.a69192ad.js                  |  1 +
 zh/assets/js/358566b4.3e9f1be3.js                  |  1 +
 zh/assets/js/35b25cb8.610b2a13.js                  |  1 +
 zh/assets/js/35b25cb8.f897c69f.js                  |  1 -
 zh/assets/js/37e3b3ea.a5d32540.js                  |  1 +
 zh/assets/js/37e3b3ea.e737eac6.js                  |  1 -
 zh/assets/js/3a16219a.2c9e6f3f.js                  |  1 +
 zh/assets/js/3a16219a.2e34db41.js                  |  1 -
 zh/assets/js/3a332aed.0f149747.js                  |  1 +
 zh/assets/js/3a332aed.d8768871.js                  |  1 -
 zh/assets/js/3a565ccf.3a07ef54.js                  |  1 -
 zh/assets/js/3a565ccf.7300b07e.js                  |  1 +
 zh/assets/js/3c3e0368.09dd1230.js                  |  1 -
 zh/assets/js/3c3e0368.8e04f770.js                  |  1 +
 zh/assets/js/3dc9f306.1a128b7b.js                  |  1 -
 zh/assets/js/3dc9f306.286def97.js                  |  1 +
 zh/assets/js/3f141e52.097b4a16.js                  |  1 -
 zh/assets/js/3f141e52.876b2d54.js                  |  1 +
 zh/assets/js/4.40808762.js                         |  1 +
 zh/assets/js/4.bed3a1bc.js                         |  1 -
 zh/assets/js/40fb2fae.e271b8cd.js                  |  1 +
 zh/assets/js/41b4926b.88ac8f0a.js                  |  1 +
 zh/assets/js/41b4926b.b971a511.js                  |  1 -
 zh/assets/js/41be8d1f.8f79ae5f.js                  |  1 -
 zh/assets/js/41be8d1f.d33e3a37.js                  |  1 +
 zh/assets/js/433f16f3.83461684.js                  |  1 +
 zh/assets/js/433f16f3.d4929b92.js                  |  1 -
 zh/assets/js/43aea6af.52540a9b.js                  |  1 +
 zh/assets/js/43aea6af.a3bdf798.js                  |  1 -
 zh/assets/js/458cdf70.53fc04cc.js                  |  1 -
 zh/assets/js/458cdf70.c9087f91.js                  |  1 +
 zh/assets/js/47e0bf55.2ff80b3f.js                  |  1 -
 zh/assets/js/47e0bf55.78ab9202.js                  |  1 +
 zh/assets/js/47f8a22a.42ed651b.js                  |  1 +
 zh/assets/js/47f8a22a.65a9a578.js                  |  1 -
 zh/assets/js/4ae58179.01e9638a.js                  |  1 +
 zh/assets/js/4ae58179.6a257e53.js                  |  1 -
 zh/assets/js/4b0b9689.a4a58537.js                  |  1 +
 zh/assets/js/4b0b9689.bc71449c.js                  |  1 -
 zh/assets/js/4b3176f7.2f128f27.js                  |  1 +
 zh/assets/js/4b3176f7.9328ae75.js                  |  1 -
 zh/assets/js/4e55a385.290fe339.js                  |  1 -
 zh/assets/js/4e55a385.9482114a.js                  |  1 +
 zh/assets/js/4eed9ed2.05a64ea9.js                  |  1 -
 zh/assets/js/4eed9ed2.aa51dba8.js                  |  1 +
 zh/assets/js/4f34f66f.04216a97.js                  |  1 +
 zh/assets/js/4f34f66f.b0fb3b6a.js                  |  1 -
 zh/assets/js/50facf8e.8c7fa73d.js                  |  1 -
 zh/assets/js/50facf8e.ad24544a.js                  |  1 +
 zh/assets/js/514de2af.ecc8e26d.js                  |  1 +
 zh/assets/js/514de2af.f17808b5.js                  |  1 -
 zh/assets/js/5426aede.1be3a082.js                  |  1 -
 zh/assets/js/5426aede.832c466b.js                  |  1 +
 zh/assets/js/562da56c.346d8e3b.js                  |  1 +
 zh/assets/js/5880833a.0f031e84.js                  |  1 +
 zh/assets/js/5880833a.e8e65fa4.js                  |  1 -
 zh/assets/js/5aca9bfb.11a52a5e.js                  |  1 +
 zh/assets/js/5aca9bfb.f5be50b8.js                  |  1 -
 zh/assets/js/5b5df5a4.42cde3e3.js                  |  1 -
 zh/assets/js/5b5df5a4.6f3b6809.js                  |  1 +
 zh/assets/js/5bb67ffc.77ce8582.js                  |  1 +
 zh/assets/js/5bb67ffc.a85be59d.js                  |  1 -
 zh/assets/js/5bf823ed.25610cba.js                  |  1 +
 zh/assets/js/5bf823ed.fac8a5b3.js                  |  1 -
 zh/assets/js/5e34b5b2.7abae427.js                  |  1 -
 zh/assets/js/5e34b5b2.af6ddd9d.js                  |  1 +
 zh/assets/js/601c6eaa.98bdfe91.js                  |  1 -
 zh/assets/js/601c6eaa.e2518038.js                  |  1 +
 zh/assets/js/64288df6.5b672ab6.js                  |  1 +
 zh/assets/js/64288df6.6ae1935b.js                  |  1 -
 zh/assets/js/66fbb9c2.b38c14e5.js                  |  1 +
 zh/assets/js/66fbb9c2.cf68ee4a.js                  |  1 -
 zh/assets/js/679cfa79.ed79a5ce.js                  |  1 -
 zh/assets/js/679cfa79.ede8b1ce.js                  |  1 +
 zh/assets/js/690ea98f.4d9b5765.js                  |  1 +
 zh/assets/js/690ea98f.7a91f9b1.js                  |  1 -
 zh/assets/js/6967878f.077aea89.js                  |  1 -
 zh/assets/js/6967878f.d41d89d1.js                  |  1 +
 zh/assets/js/6a0e174f.1470fd49.js                  |  1 +
 zh/assets/js/6a0e174f.86647dd3.js                  |  1 -
 zh/assets/js/6f365930.1e8b175a.js                  |  1 -
 zh/assets/js/6f365930.d2a83220.js                  |  1 +
 zh/assets/js/6f8b8f6f.1123ecc4.js                  |  1 +
 zh/assets/js/6f8b8f6f.44394a96.js                  |  1 -
 zh/assets/js/701a45ac.2259f34e.js                  |  1 -
 zh/assets/js/701a45ac.ab4b83f5.js                  |  1 +
 zh/assets/js/71950930.0911d8ba.js                  |  1 -
 zh/assets/js/71950930.7d50aebc.js                  |  1 +
 zh/assets/js/72aa3c55.6a589117.js                  |  1 +
 zh/assets/js/72aa3c55.e6230f14.js                  |  1 -
 zh/assets/js/72cd189b.0028a41c.js                  |  1 -
 zh/assets/js/72cd189b.fbbd9487.js                  |  1 +
 zh/assets/js/72ff46d3.cdf25948.js                  |  1 +
 zh/assets/js/72ff46d3.f8ff9fb2.js                  |  1 -
 zh/assets/js/74848684.5e262cd3.js                  |  1 +
 zh/assets/js/749ed826.7be15b33.js                  |  1 +
 zh/assets/js/749ed826.95019574.js                  |  1 -
 zh/assets/js/755c8723.f4062fce.js                  |  1 +
 zh/assets/js/755c8723.f4630986.js                  |  1 -
 zh/assets/js/769df5e0.00ee75c4.js                  |  1 -
 zh/assets/js/769df5e0.269d4aa9.js                  |  1 +
 zh/assets/js/76e7d0f9.1188d145.js                  |  1 +
 zh/assets/js/76e7d0f9.6dce494e.js                  |  1 -
 zh/assets/js/7af3052c.1da6f319.js                  |  1 -
 zh/assets/js/7af3052c.86861279.js                  |  1 +
 zh/assets/js/7e37206e.86919d06.js                  |  1 -
 zh/assets/js/7e37206e.b370ba41.js                  |  1 +
 zh/assets/js/7e8e17a7.61a68936.js                  |  1 +
 zh/assets/js/7e8e17a7.fbf47878.js                  |  1 -
 zh/assets/js/7ecc8185.6272fbe1.js                  |  1 -
 zh/assets/js/7ecc8185.d470f3c0.js                  |  1 +
 zh/assets/js/81f18807.73a5bd5a.js                  |  1 -
 zh/assets/js/81f18807.7bb392c9.js                  |  1 +
 zh/assets/js/83cf9161.04528fa8.js                  |  1 -
 zh/assets/js/83cf9161.19e9e344.js                  |  1 +
 zh/assets/js/84d2a1f2.48e446cb.js                  |  1 +
 zh/assets/js/84d2a1f2.50765701.js                  |  1 -
 zh/assets/js/859cc09f.8133d5ce.js                  |  1 -
 zh/assets/js/859cc09f.b943b21b.js                  |  1 +
 zh/assets/js/86151fad.01f79fc5.js                  |  1 +
 zh/assets/js/86151fad.736279e4.js                  |  1 -
 zh/assets/js/89015cf6.c8b3d010.js                  |  1 -
 zh/assets/js/89015cf6.eaf9a673.js                  |  1 +
 zh/assets/js/8cc2e0eb.7c4fa635.js                  |  1 +
 zh/assets/js/8cc2e0eb.c86b60fa.js                  |  1 -
 zh/assets/js/8cf41c7e.9460ac74.js                  |  1 -
 zh/assets/js/8cf41c7e.fd404b48.js                  |  1 +
 zh/assets/js/8e27d69a.07c0459b.js                  |  1 -
 zh/assets/js/8e27d69a.5269af3f.js                  |  1 +
 zh/assets/js/8e784bf3.7e06a60b.js                  |  1 -
 zh/assets/js/8e784bf3.9afed035.js                  |  1 +
 zh/assets/js/92dfebd0.f7d1257f.js                  |  1 +
 zh/assets/js/93013804.458dc19d.js                  |  1 +
 zh/assets/js/93013804.55ceb548.js                  |  1 -
 zh/assets/js/935f2afb.506a2abc.js                  |  1 +
 zh/assets/js/935f2afb.ef25eaac.js                  |  1 -
 zh/assets/js/95244615.6b407c51.js                  |  1 -
 zh/assets/js/95244615.af97b77c.js                  |  1 +
 zh/assets/js/95e0e949.21d80f7e.js                  |  1 -
 zh/assets/js/95e0e949.e5f4e01e.js                  |  1 +
 zh/assets/js/96ff6680.218d8bcd.js                  |  1 -
 zh/assets/js/96ff6680.3366777b.js                  |  1 +
 zh/assets/js/98c69322.b71740f7.js                  |  1 -
 zh/assets/js/98c69322.c769a25c.js                  |  1 +
 zh/assets/js/9969a994.caa105ec.js                  |  1 -
 zh/assets/js/9969a994.f05e33fe.js                  |  1 +
 zh/assets/js/9c26c05d.35036732.js                  |  1 -
 zh/assets/js/9c26c05d.f26e6edf.js                  |  1 +
 zh/assets/js/9cab144f.1d348977.js                  |  1 +
 zh/assets/js/9cab144f.9b1e8187.js                  |  1 -
 zh/assets/js/9d3eab9b.5bf664bc.js                  |  1 -
 zh/assets/js/9d3eab9b.8ecffac6.js                  |  1 +
 zh/assets/js/9d971112.1b42eaa2.js                  |  1 +
 zh/assets/js/9d971112.b830c62d.js                  |  1 -
 zh/assets/js/9da58367.22e05548.js                  |  1 +
 zh/assets/js/9da58367.de60860e.js                  |  1 -
 zh/assets/js/9dc47d34.3a066023.js                  |  1 -
 zh/assets/js/9dc47d34.f42db65f.js                  |  1 +
 zh/assets/js/9e25fdd8.10a65627.js                  |  1 -
 zh/assets/js/9e25fdd8.d437371f.js                  |  1 +
 zh/assets/js/a06dfdd3.13035ef9.js                  |  1 -
 zh/assets/js/a06dfdd3.a7b80327.js                  |  1 +
 zh/assets/js/a29d4bbf.50d7454a.js                  |  1 -
 zh/assets/js/a29d4bbf.7d1912c7.js                  |  1 +
 zh/assets/js/a4a2cefa.173bfa6e.js                  |  1 -
 zh/assets/js/a4a2cefa.9e854561.js                  |  1 +
 zh/assets/js/a650e70d.ba3cc6ae.js                  |  1 +
 zh/assets/js/a6641250.5aed5f6e.js                  |  1 +
 zh/assets/js/a6641250.cef3f0d3.js                  |  1 -
 zh/assets/js/a6aa9e1f.60f16021.js                  |  1 -
 zh/assets/js/a6aa9e1f.76f2b1ba.js                  |  1 +
 zh/assets/js/a9feb042.227bbcd7.js                  |  1 +
 zh/assets/js/a9feb042.c1c39215.js                  |  1 -
 zh/assets/js/ac9cf38b.8a6d273a.js                  |  1 -
 zh/assets/js/ac9cf38b.d3ba2f01.js                  |  1 +
 zh/assets/js/adbb350b.15f0002a.js                  |  1 +
 zh/assets/js/adbb350b.8ebc486e.js                  |  1 -
 zh/assets/js/adc7b4c4.bc3fff1a.js                  |  1 -
 zh/assets/js/adc7b4c4.e0f6b9cf.js                  |  1 +
 zh/assets/js/af4112e0.7877fe4a.js                  |  1 -
 zh/assets/js/af4112e0.8e179c47.js                  |  1 +
 zh/assets/js/b0e5e822.7f485bbe.js                  |  1 +
 zh/assets/js/b0e5e822.f30937f4.js                  |  1 -
 zh/assets/js/b11ac1fe.41295e9b.js                  |  1 +
 zh/assets/js/b11ac1fe.b3996ae9.js                  |  1 -
 zh/assets/js/b4a67526.4f319d9e.js                  |  1 -
 zh/assets/js/b4a67526.5b99ef08.js                  |  1 +
 zh/assets/js/b58143c5.052d2f5a.js                  |  1 -
 zh/assets/js/b58143c5.e4530b29.js                  |  1 +
 zh/assets/js/b8ef15e5.85bc6fc7.js                  |  1 +
 zh/assets/js/b8ef15e5.aa30d304.js                  |  1 -
 zh/assets/js/bacea567.4a6307e6.js                  |  1 +
 zh/assets/js/bacea567.ff8f78f0.js                  |  1 -
 zh/assets/js/bb750539.6e20c2d2.js                  |  1 -
 zh/assets/js/bb750539.c3afd28c.js                  |  1 +
 zh/assets/js/bd3a6b69.4cabbed0.js                  |  1 -
 zh/assets/js/bd3a6b69.8bc2923b.js                  |  1 +
 zh/assets/js/bec177a9.fb0e1ef1.js                  |  1 +
 zh/assets/js/c07a8fa6.1f9e27e2.js                  |  1 +
 zh/assets/js/c07a8fa6.a501f539.js                  |  1 -
 zh/assets/js/c119cf3c.c6c72574.js                  |  1 +
 zh/assets/js/c119cf3c.dfdb84fd.js                  |  1 -
 zh/assets/js/c2f0cd73.ea8992ba.js                  |  1 +
 zh/assets/js/c3e7e417.f364828c.js                  |  1 -
 zh/assets/js/c3e7e417.f5ea942b.js                  |  1 +
 zh/assets/js/c4f5d8e4.4578d384.js                  |  1 -
 zh/assets/js/c4f5d8e4.e95ff947.js                  |  1 +
 zh/assets/js/c5594f1a.42d50eda.js                  |  1 -
 zh/assets/js/c5594f1a.633cf760.js                  |  1 +
 zh/assets/js/c6a4007d.ee2c98f2.js                  |  1 +
 zh/assets/js/c9f6a9fb.7de2b487.js                  |  1 -
 zh/assets/js/c9f6a9fb.8d39af37.js                  |  1 +
 zh/assets/js/ca5ff64e.1cada8fb.js                  |  1 +
 zh/assets/js/ca5ff64e.a92e3430.js                  |  1 -
 zh/assets/js/ccc49370.894d8275.js                  |  1 -
 zh/assets/js/ccc49370.c73fc37e.js                  |  1 +
 zh/assets/js/cfdc22b3.5409e79f.js                  |  1 -
 zh/assets/js/cfdc22b3.a67091d7.js                  |  1 +
 zh/assets/js/d0e718c3.3009deb1.js                  |  1 -
 zh/assets/js/d0e718c3.b1521566.js                  |  1 +
 zh/assets/js/d18db9b0.18ab1ee5.js                  |  1 +
 zh/assets/js/d18db9b0.d74be1bd.js                  |  1 -
 zh/assets/js/d2247e49.7983937a.js                  |  1 +
 zh/assets/js/d2247e49.a63e95fb.js                  |  1 -
 zh/assets/js/d3236fe2.5398a2d1.js                  |  1 -
 zh/assets/js/d3236fe2.7c2229a4.js                  |  1 +
 zh/assets/js/d3321028.1e16f04b.js                  |  1 +
 zh/assets/js/d3321028.279e9b33.js                  |  1 -
 zh/assets/js/d4de91ec.3e832826.js                  |  1 -
 zh/assets/js/d4de91ec.a95b9d09.js                  |  1 +
 zh/assets/js/d4f121db.b3b1878c.js                  |  1 +
 zh/assets/js/d4f121db.e9767951.js                  |  1 -
 zh/assets/js/d73fca9b.19bd0eaa.js                  |  1 +
 zh/assets/js/d73fca9b.22e788e5.js                  |  1 -
 zh/assets/js/d9a95709.7b73ffc8.js                  |  1 -
 zh/assets/js/d9a95709.97020ac0.js                  |  1 +
 zh/assets/js/da9aeeeb.308b7413.js                  |  1 -
 zh/assets/js/da9aeeeb.56fc68fa.js                  |  1 +
 zh/assets/js/dcd33163.70f830fe.js                  |  1 +
 zh/assets/js/dcd33163.c1e06239.js                  |  1 -
 zh/assets/js/dec1c301.2b97be13.js                  |  1 +
 zh/assets/js/dec1c301.e80983ae.js                  |  1 -
 zh/assets/js/e00a615f.663b3fe5.js                  |  1 +
 zh/assets/js/e00a615f.92fc0d7b.js                  |  1 -
 zh/assets/js/e02da2c5.4477a72a.js                  |  1 +
 zh/assets/js/e02da2c5.c42255d5.js                  |  1 -
 zh/assets/js/e1a3b18d.592a7d05.js                  |  1 +
 zh/assets/js/e1a3b18d.dc7e1387.js                  |  1 -
 zh/assets/js/e25b82d9.2e7bdbb7.js                  |  1 +
 zh/assets/js/e25b82d9.edff0e8c.js                  |  1 -
 zh/assets/js/e451ae2c.5e8fd7fb.js                  |  1 -
 zh/assets/js/e451ae2c.770dc8d3.js                  |  1 +
 zh/assets/js/e461335b.384accd4.js                  |  1 -
 zh/assets/js/e461335b.8b06e088.js                  |  1 +
 zh/assets/js/e60dd3b0.00298138.js                  |  1 -
 zh/assets/js/e60dd3b0.2fac80a6.js                  |  1 +
 zh/assets/js/e75fbec5.412dfddf.js                  |  1 +
 zh/assets/js/e75fbec5.6bc264eb.js                  |  1 -
 zh/assets/js/eadd53fd.48e4b6f8.js                  |  1 +
 zh/assets/js/eadd53fd.7a2fcec6.js                  |  1 -
 zh/assets/js/eba3b9b2.16ace73a.js                  |  1 +
 zh/assets/js/eba3b9b2.56373240.js                  |  1 -
 zh/assets/js/ece6e754.0bbcbd91.js                  |  1 +
 zh/assets/js/ece6e754.13dea1a0.js                  |  1 -
 zh/assets/js/f1d91454.f6991cd0.js                  |  1 +
 zh/assets/js/f243156b.50431d31.js                  |  1 +
 zh/assets/js/f243156b.d1d5339c.js                  |  1 -
 zh/assets/js/f35343e1.525fc5a4.js                  |  1 -
 zh/assets/js/f35343e1.cf8cb167.js                  |  1 +
 zh/assets/js/f45d06d8.3dbe483e.js                  |  1 -
 zh/assets/js/f45d06d8.b7f5c6ca.js                  |  1 +
 zh/assets/js/f4620fb6.1200fc30.js                  |  1 +
 zh/assets/js/f4620fb6.8d89e27d.js                  |  1 -
 zh/assets/js/f5c513a5.bb8c6897.js                  |  1 +
 zh/assets/js/f5c513a5.fed93f67.js                  |  1 -
 zh/assets/js/f6cd6006.284bc399.js                  |  1 +
 zh/assets/js/f6cd6006.43f1c145.js                  |  1 -
 zh/assets/js/f7488fe8.67626147.js                  |  1 +
 zh/assets/js/f7488fe8.cebb7319.js                  |  1 -
 zh/assets/js/f7b3f6db.167d907c.js                  |  1 -
 zh/assets/js/f7b3f6db.b1ff9cba.js                  |  1 +
 zh/assets/js/f8217c69.7dfba882.js                  |  1 +
 zh/assets/js/f8217c69.b069bbf6.js                  |  1 -
 zh/assets/js/f9dabc71.2c7f0a1f.js                  |  1 +
 zh/assets/js/f9dabc71.618f3253.js                  |  1 -
 zh/assets/js/fa919c95.78f08e90.js                  |  1 +
 zh/assets/js/fa919c95.a1d85e3a.js                  |  1 -
 zh/assets/js/fc9a947c.53f5b204.js                  |  1 +
 zh/assets/js/fc9a947c.a6cc6555.js                  |  1 -
 zh/assets/js/fd72aa65.96991803.js                  |  1 -
 zh/assets/js/fd72aa65.c0af7ce0.js                  |  1 +
 zh/assets/js/ff8d1795.9dcc8581.js                  |  1 +
 zh/assets/js/ff8d1795.b5dc6fd5.js                  |  1 -
 zh/assets/js/main.1ed3b37c.js                      |  2 -
 zh/assets/js/main.f75b6951.js                      |  2 +
 .../assets/js/main.f75b6951.js.LICENSE.txt         |  0
 zh/assets/js/runtime~main.18558a01.js              |  1 +
 zh/assets/js/runtime~main.b54606be.js              |  1 -
 zh/assets/js/styles.254694dc.js                    |  1 +
 zh/assets/js/styles.433a6000.js                    |  1 -
 zh/blog/2020/08/22/new-website/index.html          | 32 +++++-----
 .../index.html                                     | 32 +++++-----
 .../index.html                                     | 32 +++++-----
 .../21/run-ingress-apisix-on-amazon-eks/index.html | 32 +++++-----
 .../index.html                                     | 32 +++++-----
 .../index.html                                     | 32 +++++-----
 .../index.html                                     | 32 +++++-----
 .../index.html                                     | 32 +++++-----
 zh/blog/index.html                                 | 64 ++++++++++----------
 zh/docs/apisix/FAQ/index.html                      | 36 ++++++------
 zh/docs/apisix/IGNORE_DOC/index.html               | 36 ++++++------
 zh/docs/apisix/admin-api/index.html                | 36 ++++++------
 .../apisix/architecture-design/apisix/index.html   | 36 ++++++------
 .../apisix/architecture-design/consumer/index.html | 36 ++++++------
 .../architecture-design/debug-mode/index.html      | 36 ++++++------
 .../architecture-design/global-rule/index.html     | 36 ++++++------
 .../architecture-design/plugin-config/index.html   | 36 ++++++------
 .../apisix/architecture-design/plugin/index.html   | 36 ++++++------
 .../apisix/architecture-design/route/index.html    | 36 ++++++------
 .../apisix/architecture-design/router/index.html   | 36 ++++++------
 .../apisix/architecture-design/script/index.html   | 36 ++++++------
 .../apisix/architecture-design/service/index.html  | 36 ++++++------
 .../apisix/architecture-design/upstream/index.html | 36 ++++++------
 zh/docs/apisix/aws/index.html                      | 36 ++++++------
 zh/docs/apisix/batch-processor/index.html          | 36 ++++++------
 zh/docs/apisix/benchmark/index.html                | 36 ++++++------
 zh/docs/apisix/control-api/index.html              | 36 ++++++------
 .../customize-nginx-configuration/index.html       | 36 ++++++------
 zh/docs/apisix/debug-function/index.html           | 36 ++++++------
 zh/docs/apisix/discovery/consul_kv/index.html      | 36 ++++++------
 zh/docs/apisix/discovery/dns/index.html            | 36 ++++++------
 zh/docs/apisix/discovery/eureka/index.html         | 36 ++++++------
 zh/docs/apisix/discovery/index.html                | 36 ++++++------
 .../index.html                                     | 36 ++++++------
 zh/docs/apisix/getting-started/index.html          | 36 ++++++------
 zh/docs/apisix/grpc-proxy/index.html               | 36 ++++++------
 zh/docs/apisix/health-check/index.html             | 36 ++++++------
 zh/docs/apisix/how-to-build/index.html             | 36 ++++++------
 zh/docs/apisix/https/index.html                    | 36 ++++++------
 zh/docs/apisix/install-dependencies/index.html     | 36 ++++++------
 zh/docs/apisix/mtls/index.html                     | 36 ++++++------
 zh/docs/apisix/plugin-develop/index.html           | 36 ++++++------
 zh/docs/apisix/plugin-interceptors/index.html      | 36 ++++++------
 zh/docs/apisix/plugins/api-breaker/index.html      | 36 ++++++------
 zh/docs/apisix/plugins/authz-keycloak/index.html   | 36 ++++++------
 zh/docs/apisix/plugins/basic-auth/index.html       | 36 ++++++------
 zh/docs/apisix/plugins/batch-requests/index.html   | 36 ++++++------
 .../apisix/plugins/consumer-restriction/index.html | 36 ++++++------
 zh/docs/apisix/plugins/cors/index.html             | 36 ++++++------
 zh/docs/apisix/plugins/dubbo-proxy/index.html      | 36 ++++++------
 zh/docs/apisix/plugins/echo/index.html             | 36 ++++++------
 zh/docs/apisix/plugins/error-log-logger/index.html | 36 ++++++------
 zh/docs/apisix/plugins/fault-injection/index.html  | 36 ++++++------
 zh/docs/apisix/plugins/grpc-transcode/index.html   | 36 ++++++------
 zh/docs/apisix/plugins/hmac-auth/index.html        | 36 ++++++------
 zh/docs/apisix/plugins/http-logger/index.html      | 36 ++++++------
 zh/docs/apisix/plugins/index.html                  | 36 ++++++------
 zh/docs/apisix/plugins/ip-restriction/index.html   | 36 ++++++------
 zh/docs/apisix/plugins/jwt-auth/index.html         | 36 ++++++------
 zh/docs/apisix/plugins/kafka-logger/index.html     | 36 ++++++------
 zh/docs/apisix/plugins/key-auth/index.html         | 36 ++++++------
 zh/docs/apisix/plugins/limit-conn/index.html       | 36 ++++++------
 zh/docs/apisix/plugins/limit-count/index.html      | 36 ++++++------
 zh/docs/apisix/plugins/limit-req/index.html        | 36 ++++++------
 zh/docs/apisix/plugins/log-rotate/index.html       | 36 ++++++------
 zh/docs/apisix/plugins/mqtt-proxy/index.html       | 36 ++++++------
 zh/docs/apisix/plugins/node-status/index.html      | 36 ++++++------
 zh/docs/apisix/plugins/openid-connect/index.html   | 36 ++++++------
 zh/docs/apisix/plugins/prometheus/index.html       | 36 ++++++------
 zh/docs/apisix/plugins/proxy-cache/index.html      | 36 ++++++------
 zh/docs/apisix/plugins/proxy-mirror/index.html     | 36 ++++++------
 zh/docs/apisix/plugins/proxy-rewrite/index.html    | 36 ++++++------
 zh/docs/apisix/plugins/redirect/index.html         | 36 ++++++------
 .../apisix/plugins/referer-restriction/index.html  | 36 ++++++------
 zh/docs/apisix/plugins/request-id/index.html       | 36 ++++++------
 .../apisix/plugins/request-validation/index.html   | 36 ++++++------
 zh/docs/apisix/plugins/response-rewrite/index.html | 36 ++++++------
 zh/docs/apisix/plugins/server-info/index.html      | 36 ++++++------
 zh/docs/apisix/plugins/serverless/index.html       | 36 ++++++------
 zh/docs/apisix/plugins/skywalking/index.html       | 36 ++++++------
 zh/docs/apisix/plugins/sls-logger/index.html       | 36 ++++++------
 zh/docs/apisix/plugins/syslog/index.html           | 36 ++++++------
 zh/docs/apisix/plugins/tcp-logger/index.html       | 36 ++++++------
 zh/docs/apisix/plugins/traffic-split/index.html    | 36 ++++++------
 zh/docs/apisix/plugins/udp-logger/index.html       | 36 ++++++------
 zh/docs/apisix/plugins/uri-blocker/index.html      | 36 ++++++------
 zh/docs/apisix/plugins/wolf-rbac/index.html        | 36 ++++++------
 zh/docs/apisix/plugins/zipkin/index.html           | 36 ++++++------
 zh/docs/apisix/profile/index.html                  | 36 ++++++------
 zh/docs/apisix/router-radixtree/index.html         | 36 ++++++------
 zh/docs/apisix/stand-alone/index.html              | 36 ++++++------
 zh/docs/apisix/stream-proxy/index.html             | 36 ++++++------
 zh/docs/dashboard/FAQ/index.html                   | 36 ++++++------
 zh/docs/dashboard/I18N_USER_GUIDE/index.html       | 36 ++++++------
 zh/docs/dashboard/IGNORE_DOC/index.html            | 36 ++++++------
 .../dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html | 36 ++++++------
 zh/docs/dashboard/USER_GUIDE/index.html            | 36 ++++++------
 zh/docs/dashboard/api/api/index.html               | 36 ++++++------
 zh/docs/dashboard/back-end-tests/index.html        | 36 ++++++------
 zh/docs/dashboard/deploy-with-docker/index.html    | 36 ++++++------
 zh/docs/dashboard/deploy-with-rpm/index.html       | 36 ++++++------
 zh/docs/dashboard/deploy/index.html                | 36 ++++++------
 zh/docs/dashboard/develop/index.html               | 36 ++++++------
 zh/docs/dashboard/front-end-e2e/index.html         | 36 ++++++------
 zh/docs/docker/IGNORE_DOC/index.html               | 41 +++++++++++++
 zh/docs/docker/build/index.html                    | 42 +++++++++++++
 zh/docs/docker/example/index.html                  | 50 ++++++++++++++++
 zh/docs/docker/manual/index.html                   | 41 +++++++++++++
 zh/docs/general/2fa/index.html                     | 38 ++++++------
 zh/docs/general/committer-guide/index.html         | 38 ++++++------
 zh/docs/general/contributor-guide/index.html       | 38 ++++++------
 .../general/integrate-with-project-docs/index.html | 38 ++++++------
 zh/docs/general/release-guide/index.html           | 38 ++++++------
 zh/docs/general/security/index.html                | 38 ++++++------
 zh/docs/general/subscribe-guide/index.html         | 38 ++++++------
 zh/docs/helm-chart/IGNORE_DOC/index.html           | 41 +++++++++++++
 zh/docs/helm-chart/apisix-dashboard/index.html     | 41 +++++++++++++
 .../apisix-ingress-controller/index.html           | 41 +++++++++++++
 zh/docs/helm-chart/apisix/index.html               | 41 +++++++++++++
 zh/docs/index.html                                 | 28 ++++-----
 zh/docs/ingress-controller/FAQ/index.html          | 36 ++++++------
 zh/docs/ingress-controller/IGNORE_DOC/index.html   | 36 ++++++------
 .../concepts/apisix_route/index.html               | 36 ++++++------
 .../concepts/apisix_tls/index.html                 | 36 ++++++------
 .../concepts/apisix_upstream/index.html            | 36 ++++++------
 zh/docs/ingress-controller/contribute/index.html   | 36 ++++++------
 .../ingress-controller/deployments/ack/index.html  | 36 ++++++------
 .../ingress-controller/deployments/aws/index.html  | 36 ++++++------
 .../deployments/azure/index.html                   | 36 ++++++------
 .../ingress-controller/deployments/gke/index.html  | 36 ++++++------
 .../deployments/k3s-rke/index.html                 | 36 ++++++------
 .../deployments/kubesphere/index.html              | 36 ++++++------
 .../deployments/minikube/index.html                | 36 ++++++------
 .../ingress-controller/deployments/tke/index.html  | 36 ++++++------
 zh/docs/ingress-controller/design/index.html       | 36 ++++++------
 zh/docs/ingress-controller/development/index.html  | 36 ++++++------
 .../ingress-controller/getting-started/index.html  | 36 ++++++------
 .../ingress-controller/practices/index/index.html  | 36 ++++++------
 .../index.html                                     | 36 ++++++------
 .../practices/proxy-the-httpbin-service/index.html | 36 ++++++------
 .../references/apisix_route_v1/index.html          | 36 ++++++------
 .../references/apisix_route_v2alpha1/index.html    | 36 ++++++------
 .../references/apisix_tls/index.html               | 36 ++++++------
 .../references/apisix_upstream/index.html          | 36 ++++++------
 zh/downloads/ProjectCard/index.html                | 24 ++++----
 zh/downloads/index.html                            | 32 +++++-----
 .../index.html                                     | 36 ++++++------
 .../index.html                                     | 36 ++++++------
 .../02/09/release-apache-apisix-2.3/index.html     | 36 ++++++------
 .../index.html                                     | 36 ++++++------
 .../release-apache-apisix-dashboard-2.4/index.html | 36 ++++++------
 .../03/05/release-apache-apisix-2.4/index.html     | 36 ++++++------
 .../index.html                                     | 36 ++++++------
 .../04/05/release-apache-apisix-2.5/index.html     | 36 ++++++------
 zh/events/index.html                               | 68 +++++++++++-----------
 zh/help/index.html                                 | 28 ++++-----
 zh/index.html                                      | 28 ++++-----
 zh/search/index.html                               | 24 ++++----
 zh/sitemap.xml                                     |  2 +-
 zh/team/index.html                                 | 28 ++++-----
 1100 files changed, 6510 insertions(+), 5814 deletions(-)

diff --git a/404.html b/404.html
index 6599f69..56b159b 100644
--- a/404.html
+++ b/404.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Page Not Found | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Page Not Found | Apache APISIX™"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//404.html"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/assets/js/00ee19e9.728d17a9.js b/assets/js/00ee19e9.728d17a9.js
deleted file mode 100644
index d860148..0000000
--- a/assets/js/00ee19e9.728d17a9.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{255:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return m}));var a=n(0),r=n.n(a);function l(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}))) [...]
\ No newline at end of file
diff --git a/assets/js/00ee19e9.a95bc6be.js b/assets/js/00ee19e9.a95bc6be.js
new file mode 100644
index 0000000..4301b70
--- /dev/null
+++ b/assets/js/00ee19e9.a95bc6be.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{265:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return m}));var a=n(0),r=n.n(a);function l(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}))) [...]
\ No newline at end of file
diff --git a/assets/js/0132ab2c.1e80667d.js b/assets/js/0132ab2c.1e80667d.js
new file mode 100644
index 0000000..cd46c1a
--- /dev/null
+++ b/assets/js/0132ab2c.1e80667d.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{265:function(n,e,t){"use strict";t.d(e,"a",(function(){return l})),t.d(e,"b",(function(){return g}));var r=t(0),i=t.n(r);function o(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function a(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))) [...]
\ No newline at end of file
diff --git a/assets/js/0132ab2c.5c1fd9ef.js b/assets/js/0132ab2c.5c1fd9ef.js
deleted file mode 100644
index 57fd684..0000000
--- a/assets/js/0132ab2c.5c1fd9ef.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{255:function(n,e,t){"use strict";t.d(e,"a",(function(){return l})),t.d(e,"b",(function(){return g}));var r=t(0),i=t.n(r);function o(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function a(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))) [...]
\ No newline at end of file
diff --git a/assets/js/0201ab1c.0479d717.js b/assets/js/0201ab1c.0479d717.js
new file mode 100644
index 0000000..f278949
--- /dev/null
+++ b/assets/js/0201ab1c.0479d717.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{265:function(e,n,t){"use strict";t.d(n,"a",(function(){return s})),t.d(n,"b",(function(){return m}));var r=t(0),i=t.n(r);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))) [...]
\ No newline at end of file
diff --git a/assets/js/0201ab1c.c2c5a651.js b/assets/js/0201ab1c.c2c5a651.js
deleted file mode 100644
index 970ff19..0000000
--- a/assets/js/0201ab1c.c2c5a651.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{255:function(e,n,t){"use strict";t.d(n,"a",(function(){return s})),t.d(n,"b",(function(){return m}));var r=t(0),i=t.n(r);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))) [...]
\ No newline at end of file
diff --git a/assets/js/034277d8.282e79cc.js b/assets/js/034277d8.282e79cc.js
new file mode 100644
index 0000000..97bce42
--- /dev/null
+++ b/assets/js/034277d8.282e79cc.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{265:function(t,e,a){"use strict";a.d(e,"a",(function(){return d})),a.d(e,"b",(function(){return O}));var n=a(0),r=a.n(n);function b(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))) [...]
\ No newline at end of file
diff --git a/assets/js/034277d8.e1db1246.js b/assets/js/034277d8.e1db1246.js
deleted file mode 100644
index 17349b1..0000000
--- a/assets/js/034277d8.e1db1246.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{255:function(t,e,a){"use strict";a.d(e,"a",(function(){return d})),a.d(e,"b",(function(){return O}));var n=a(0),r=a.n(n);function b(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))) [...]
\ No newline at end of file
diff --git a/assets/js/042f2dd8.83aefa64.js b/assets/js/042f2dd8.83aefa64.js
deleted file mode 100644
index 8968c56..0000000
--- a/assets/js/042f2dd8.83aefa64.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{255:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);function l(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}))) [...]
\ No newline at end of file
diff --git a/assets/js/042f2dd8.c647222b.js b/assets/js/042f2dd8.c647222b.js
new file mode 100644
index 0000000..ce6e3f6
--- /dev/null
+++ b/assets/js/042f2dd8.c647222b.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{265:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);function l(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}))) [...]
\ No newline at end of file
diff --git a/assets/js/0484cea7.67806dfc.js b/assets/js/0484cea7.67806dfc.js
deleted file mode 100644
index 2abb0dd..0000000
--- a/assets/js/0484cea7.67806dfc.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{255:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);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 l(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})) [...]
\ No newline at end of file
diff --git a/assets/js/0484cea7.a760f561.js b/assets/js/0484cea7.a760f561.js
new file mode 100644
index 0000000..47d7411
--- /dev/null
+++ b/assets/js/0484cea7.a760f561.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{265:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);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 l(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})) [...]
\ No newline at end of file
diff --git a/assets/js/0654f374.5a4921bb.js b/assets/js/0654f374.5a4921bb.js
deleted file mode 100644
index f4dde2b..0000000
--- a/assets/js/0654f374.5a4921bb.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{255:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);function l(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})) [...]
\ No newline at end of file
diff --git a/assets/js/0654f374.92d9df0b.js b/assets/js/0654f374.92d9df0b.js
new file mode 100644
index 0000000..3ace07d
--- /dev/null
+++ b/assets/js/0654f374.92d9df0b.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{265:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);function l(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})) [...]
\ No newline at end of file
diff --git a/assets/js/098c8b15.115217e6.js b/assets/js/098c8b15.115217e6.js
deleted file mode 100644
index 4467663..0000000
--- a/assets/js/098c8b15.115217e6.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{255:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return h}));var a=n(0),r=n.n(a);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 l(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})) [...]
\ No newline at end of file
diff --git a/assets/js/098c8b15.9e5068b2.js b/assets/js/098c8b15.9e5068b2.js
new file mode 100644
index 0000000..297245f
--- /dev/null
+++ b/assets/js/098c8b15.9e5068b2.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{265:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return h}));var a=n(0),r=n.n(a);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 l(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})) [...]
\ No newline at end of file
diff --git a/assets/js/0dc3e78d.55f89cc1.js b/assets/js/0dc3e78d.55f89cc1.js
new file mode 100644
index 0000000..6d132f5
--- /dev/null
+++ b/assets/js/0dc3e78d.55f89cc1.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{265:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return m}));var r=n(0),i=n.n(r);function c(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})) [...]
\ No newline at end of file
diff --git a/assets/js/0dc3e78d.a9a2f6c8.js b/assets/js/0dc3e78d.a9a2f6c8.js
deleted file mode 100644
index 9b6d6c1..0000000
--- a/assets/js/0dc3e78d.a9a2f6c8.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{255:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return m}));var r=n(0),i=n.n(r);function c(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})) [...]
\ No newline at end of file
diff --git a/assets/js/1.5eb1a32c.js b/assets/js/1.5eb1a32c.js
new file mode 100644
index 0000000..508e366
--- /dev/null
+++ b/assets/js/1.5eb1a32c.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{266:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(298);Object.defineProperty(t,"useThemeConfig",{enumerable:!0,get:function(){return r.useThemeConfig}});var o=n(325);Object.defineProperty(t,"useAlternatePageUtils",{enumerable:!0,get:function(){return o.useAlternatePageUtils}});var i=n(326);Object.defineProperty(t,"docVersionSearchTag",{enumerable:!0,get:function(){return i.docVersionSearchTag [...]
\ No newline at end of file
diff --git a/assets/js/1.6d19ec46.js b/assets/js/1.6d19ec46.js
deleted file mode 100644
index 44373ea..0000000
--- a/assets/js/1.6d19ec46.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{256:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(288);Object.defineProperty(t,"useThemeConfig",{enumerable:!0,get:function(){return r.useThemeConfig}});var o=n(315);Object.defineProperty(t,"useAlternatePageUtils",{enumerable:!0,get:function(){return o.useAlternatePageUtils}});var i=n(316);Object.defineProperty(t,"docVersionSearchTag",{enumerable:!0,get:function(){return i.docVersionSearchTag [...]
\ No newline at end of file
diff --git a/assets/js/11dba9b3.5d021888.js b/assets/js/11dba9b3.5d021888.js
new file mode 100644
index 0000000..589b1cd
--- /dev/null
+++ b/assets/js/11dba9b3.5d021888.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{265:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);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})) [...]
\ No newline at end of file
diff --git a/assets/js/11dba9b3.ed2cdbbf.js b/assets/js/11dba9b3.ed2cdbbf.js
deleted file mode 100644
index 7c19a14..0000000
--- a/assets/js/11dba9b3.ed2cdbbf.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{255:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);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})) [...]
\ No newline at end of file
diff --git a/assets/js/12e5767f.68e31f2d.js b/assets/js/12e5767f.68e31f2d.js
deleted file mode 100644
index 76e55d1..0000000
--- a/assets/js/12e5767f.68e31f2d.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{255:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return f}));var n=r(0),a=r.n(n);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 l(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})) [...]
\ No newline at end of file
diff --git a/assets/js/12e5767f.b943685e.js b/assets/js/12e5767f.b943685e.js
new file mode 100644
index 0000000..8e57ac8
--- /dev/null
+++ b/assets/js/12e5767f.b943685e.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{265:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return f}));var n=r(0),a=r.n(n);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 l(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})) [...]
\ No newline at end of file
diff --git a/assets/js/13dafbb5.19f0a315.js b/assets/js/13dafbb5.19f0a315.js
deleted file mode 100644
index 3ff3411..0000000
--- a/assets/js/13dafbb5.19f0a315.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{255:function(e,n,t){"use strict";t.d(n,"a",(function(){return d})),t.d(n,"b",(function(){return m}));var r=t(0),o=t.n(r);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/13dafbb5.3b18b9dc.js b/assets/js/13dafbb5.3b18b9dc.js
new file mode 100644
index 0000000..8b8110e
--- /dev/null
+++ b/assets/js/13dafbb5.3b18b9dc.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{265:function(e,n,t){"use strict";t.d(n,"a",(function(){return d})),t.d(n,"b",(function(){return m}));var r=t(0),o=t.n(r);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/162a65a3.5e32392e.js b/assets/js/162a65a3.5e32392e.js
deleted file mode 100644
index be2e913..0000000
--- a/assets/js/162a65a3.5e32392e.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{255:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return u}));var a=n(0),i=n.n(a);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/162a65a3.7b605a7c.js b/assets/js/162a65a3.7b605a7c.js
new file mode 100644
index 0000000..f606974
--- /dev/null
+++ b/assets/js/162a65a3.7b605a7c.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{265:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return u}));var a=n(0),i=n.n(a);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/1741c35c.8d17d175.js b/assets/js/1741c35c.8d17d175.js
deleted file mode 100644
index 1780d45..0000000
--- a/assets/js/1741c35c.8d17d175.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{255:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);function l(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})) [...]
\ No newline at end of file
diff --git a/assets/js/1741c35c.e183d5f6.js b/assets/js/1741c35c.e183d5f6.js
new file mode 100644
index 0000000..25e9390
--- /dev/null
+++ b/assets/js/1741c35c.e183d5f6.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{265:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);function l(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})) [...]
\ No newline at end of file
diff --git a/assets/js/17896441.3d28a8f3.js b/assets/js/17896441.3d28a8f3.js
deleted file mode 100644
index 73179d9..0000000
--- a/assets/js/17896441.3d28a8f3.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{250:function(e,t,a){"use strict";a.r(t);var n=a(0),l=a.n(n),r=a(24),c=a(256),i=a(17),o=a(262),m=a(258);var s=function(e){var t=e.metadata;return l.a.createElement("nav",{className:"pagination-nav","aria-label":"Blog list page navigation"},l.a.createElement("div",{className:"pagination-nav__item"},t.previous&&l.a.createElement(m.a,{className:"pagination-nav__link",to:t.previous.permalink},l.a.createElement("div",{className:"paginat [...]
\ No newline at end of file
diff --git a/assets/js/17896441.95671e70.js b/assets/js/17896441.95671e70.js
new file mode 100644
index 0000000..1dc0047
--- /dev/null
+++ b/assets/js/17896441.95671e70.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{260:function(e,t,a){"use strict";a.r(t);var n=a(0),l=a.n(n),r=a(24),c=a(266),i=a(17),o=a(272),m=a(268);var s=function(e){var t=e.metadata;return l.a.createElement("nav",{className:"pagination-nav","aria-label":"Blog list page navigation"},l.a.createElement("div",{className:"pagination-nav__item"},t.previous&&l.a.createElement(m.a,{className:"pagination-nav__link",to:t.previous.permalink},l.a.createElement("div",{className:"paginat [...]
\ No newline at end of file
diff --git a/assets/js/17d3fec9.58d88a55.js b/assets/js/17d3fec9.58d88a55.js
new file mode 100644
index 0000000..0412607
--- /dev/null
+++ b/assets/js/17d3fec9.58d88a55.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{265:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);function l(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})) [...]
\ No newline at end of file
diff --git a/assets/js/17d3fec9.f8e96dba.js b/assets/js/17d3fec9.f8e96dba.js
deleted file mode 100644
index 99baf2a..0000000
--- a/assets/js/17d3fec9.f8e96dba.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{255:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);function l(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})) [...]
\ No newline at end of file
diff --git a/assets/js/17dc512b.a4671871.js b/assets/js/17dc512b.a4671871.js
new file mode 100644
index 0000000..4953080
--- /dev/null
+++ b/assets/js/17dc512b.a4671871.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{265:function(e,t,r){"use strict";r.d(t,"a",(function(){return s})),r.d(t,"b",(function(){return y}));var n=r(0),a=r.n(n);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})) [...]
\ No newline at end of file
diff --git a/assets/js/17dc512b.c65a82b3.js b/assets/js/17dc512b.c65a82b3.js
deleted file mode 100644
index e486d22..0000000
--- a/assets/js/17dc512b.c65a82b3.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{255:function(e,t,r){"use strict";r.d(t,"a",(function(){return s})),r.d(t,"b",(function(){return y}));var n=r(0),a=r.n(n);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})) [...]
\ No newline at end of file
diff --git a/assets/js/183.fcb40bc5.js b/assets/js/183.fcb40bc5.js
deleted file mode 100644
index 4143ba4..0000000
--- a/assets/js/183.fcb40bc5.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see 183.fcb40bc5.js.LICENSE.txt */
-(window.webpackJsonp=window.webpackJsonp||[]).push([[183],{231:function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r),a=n(347),s=n.n(a),c=n(336),u=n.n(c),o=n(257),f=n(24),h=n(258),l=n(10),m=n(256),d=n(17),v=n(260),p=n(293),g=n(259),y=n(232),R=n.n(y);var F=function(e){var t=e.docsSearchVersionsHelpers,n=Object.entries(t.allDocsData).filter((function(e){return e[1].versions.length>1}));return i.a.createElement("div",{className:Object(o.a)("col","col--3","padding-left--none",R.a.searchVers [...]
\ No newline at end of file
diff --git a/assets/js/184.3a7dd135.js b/assets/js/184.3a7dd135.js
deleted file mode 100644
index b31dcd8..0000000
--- a/assets/js/184.3a7dd135.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[184,187],{255:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return f}));var r=n(0),a=n.n(r);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).enumerab [...]
\ No newline at end of file
diff --git a/assets/js/185.ac8507df.js b/assets/js/185.ac8507df.js
deleted file mode 100644
index bcbd1b4..0000000
--- a/assets/js/185.ac8507df.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[185],{355:function(e,t,r){"use strict";function n(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,n)}return r}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,r){var a=t.initialState;return{getState:fun [...]
\ No newline at end of file
diff --git a/assets/js/186.95e6d3f9.js b/assets/js/186.95e6d3f9.js
deleted file mode 100644
index 2ed7906..0000000
--- a/assets/js/186.95e6d3f9.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[186],{354:function(n,i,o){"use strict";o.r(i);var r=o(63);for(var t in r)["default"].indexOf(t)<0&&function(n){o.d(i,n,(function(){return r[n]}))}(t)}}]);
\ No newline at end of file
diff --git a/assets/js/187.436816d5.js b/assets/js/187.436816d5.js
deleted file mode 100644
index d35ee27..0000000
--- a/assets/js/187.436816d5.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[187],{287:function(e,t,a){"use strict";a.r(t);var n=a(0),o=a.n(n),l=a(259);t.default=function(){return o.a.createElement(l.a,{title:"Page Not Found"},o.a.createElement("main",{className:"container margin-vert--xl"},o.a.createElement("div",{className:"row"},o.a.createElement("div",{className:"col col--6 col--offset-3"},o.a.createElement("h1",{className:"hero__title"},"Page Not Found"),o.a.createElement("p",null,"We could not find what y [...]
\ No newline at end of file
diff --git a/assets/js/188.6ef04a13.js b/assets/js/188.6ef04a13.js
deleted file mode 100644
index 3a2a42e..0000000
--- a/assets/js/188.6ef04a13.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[188],{356:function(t,e,n){"use strict";var s=n(3),a=n(7),i=n(4);n(1);function o(t,e){return t.replace(new RegExp("(^|\\s)"+e+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}var r=n(0),p=n.n(r),l=n(25),u=n.n(l),c=!1,d=p.a.createContext(null),E="unmounted",f="exited",h="entering",x="entered",m="exiting",v=function(t){function e(e,n){var s;s=t.call(this,e,n)||this;var a,i=n&&!n.isMounting?e.enter:e.appear;return s.appe [...]
\ No newline at end of file
diff --git a/assets/js/193.c96bb1f6.js b/assets/js/193.c96bb1f6.js
new file mode 100644
index 0000000..b103c50
--- /dev/null
+++ b/assets/js/193.c96bb1f6.js
@@ -0,0 +1,2 @@
+/*! For license information please see 193.c96bb1f6.js.LICENSE.txt */
+(window.webpackJsonp=window.webpackJsonp||[]).push([[193],{240:function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r),a=n(357),s=n.n(a),c=n(346),u=n.n(c),o=n(267),f=n(24),h=n(268),l=n(10),m=n(266),d=n(17),v=n(270),p=n(303),g=n(269),y=n(241),R=n.n(y);var F=function(e){var t=e.docsSearchVersionsHelpers,n=Object.entries(t.allDocsData).filter((function(e){return e[1].versions.length>1}));return i.a.createElement("div",{className:Object(o.a)("col","col--3","padding-left--none",R.a.searchVers [...]
\ No newline at end of file
diff --git a/zh/assets/js/183.f4c01b00.js.LICENSE.txt b/assets/js/193.c96bb1f6.js.LICENSE.txt
similarity index 100%
rename from zh/assets/js/183.f4c01b00.js.LICENSE.txt
rename to assets/js/193.c96bb1f6.js.LICENSE.txt
diff --git a/assets/js/194.3cd9389d.js b/assets/js/194.3cd9389d.js
new file mode 100644
index 0000000..0a74adf
--- /dev/null
+++ b/assets/js/194.3cd9389d.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[194,197],{265:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return f}));var r=n(0),a=n.n(r);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).enumerab [...]
\ No newline at end of file
diff --git a/assets/js/195.d3ec0237.js b/assets/js/195.d3ec0237.js
new file mode 100644
index 0000000..cfae3f7
--- /dev/null
+++ b/assets/js/195.d3ec0237.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[195],{365:function(e,t,r){"use strict";function n(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,n)}return r}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,r){var a=t.initialState;return{getState:fun [...]
\ No newline at end of file
diff --git a/assets/js/196.5b3e2553.js b/assets/js/196.5b3e2553.js
new file mode 100644
index 0000000..c422601
--- /dev/null
+++ b/assets/js/196.5b3e2553.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[196],{364:function(n,i,o){"use strict";o.r(i);var r=o(63);for(var t in r)["default"].indexOf(t)<0&&function(n){o.d(i,n,(function(){return r[n]}))}(t)}}]);
\ No newline at end of file
diff --git a/assets/js/197.38a043fd.js b/assets/js/197.38a043fd.js
new file mode 100644
index 0000000..84e8cb9
--- /dev/null
+++ b/assets/js/197.38a043fd.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[197],{297:function(e,t,a){"use strict";a.r(t);var n=a(0),o=a.n(n),l=a(269);t.default=function(){return o.a.createElement(l.a,{title:"Page Not Found"},o.a.createElement("main",{className:"container margin-vert--xl"},o.a.createElement("div",{className:"row"},o.a.createElement("div",{className:"col col--6 col--offset-3"},o.a.createElement("h1",{className:"hero__title"},"Page Not Found"),o.a.createElement("p",null,"We could not find what y [...]
\ No newline at end of file
diff --git a/assets/js/198.8b6c3ef7.js b/assets/js/198.8b6c3ef7.js
new file mode 100644
index 0000000..5a54b5c
--- /dev/null
+++ b/assets/js/198.8b6c3ef7.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[198],{366:function(t,e,n){"use strict";var s=n(3),a=n(8),i=n(4);n(1);function o(t,e){return t.replace(new RegExp("(^|\\s)"+e+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}var r=n(0),p=n.n(r),l=n(25),u=n.n(l),c=!1,d=p.a.createContext(null),E="unmounted",f="exited",h="entering",x="entered",m="exiting",v=function(t){function e(e,n){var s;s=t.call(this,e,n)||this;var a,i=n&&!n.isMounting?e.enter:e.appear;return s.appe [...]
\ No newline at end of file
diff --git a/assets/js/19945770.1181d369.js b/assets/js/19945770.1181d369.js
new file mode 100644
index 0000000..5346d90
--- /dev/null
+++ b/assets/js/19945770.1181d369.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{265:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);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})) [...]
\ No newline at end of file
diff --git a/assets/js/19945770.dc5e1ece.js b/assets/js/19945770.dc5e1ece.js
deleted file mode 100644
index bcaf0ae..0000000
--- a/assets/js/19945770.dc5e1ece.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{255:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return f}));var r=n(0),a=n.n(r);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})) [...]
\ No newline at end of file
diff --git a/assets/js/1bc24c0d.02592ee5.js b/assets/js/1bc24c0d.02592ee5.js
deleted file mode 100644
index 322eac0..0000000
--- a/assets/js/1bc24c0d.02592ee5.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{255:function(e,t,a){"use strict";a.d(t,"a",(function(){return u})),a.d(t,"b",(function(){return s}));var n=a(0),l=a.n(n);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 b(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})) [...]
\ No newline at end of file
diff --git a/assets/js/1bc24c0d.ee0dbd4b.js b/assets/js/1bc24c0d.ee0dbd4b.js
new file mode 100644
index 0000000..aed73b9
--- /dev/null
+++ b/assets/js/1bc24c0d.ee0dbd4b.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{265:function(e,t,a){"use strict";a.d(t,"a",(function(){return u})),a.d(t,"b",(function(){return s}));var n=a(0),l=a.n(n);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 b(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})) [...]
\ No newline at end of file
diff --git a/assets/js/1be5d2e8.59f52745.js b/assets/js/1be5d2e8.59f52745.js
new file mode 100644
index 0000000..79c1c93
--- /dev/null
+++ b/assets/js/1be5d2e8.59f52745.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{265:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return h}));var n=r(0),a=r.n(n);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 l(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})) [...]
\ No newline at end of file
diff --git a/assets/js/1be5d2e8.d21def58.js b/assets/js/1be5d2e8.d21def58.js
deleted file mode 100644
index eef7e6b..0000000
--- a/assets/js/1be5d2e8.d21def58.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{255:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return h}));var n=r(0),a=r.n(n);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 l(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})) [...]
\ No newline at end of file
diff --git a/assets/js/1be78505.cc383951.js b/assets/js/1be78505.cc383951.js
new file mode 100644
index 0000000..aaaa23e
--- /dev/null
+++ b/assets/js/1be78505.cc383951.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{261:function(e,a,t){"use strict";t.r(a);var n=t(0),c=t.n(n),i=t(265),l=t(17),r=t(27),o=t(269),s=t(3),u=t(8),b=t(267),d=t(266),m=t(301),p=t(307),f=t(308),v=t(306),h=t(268),E=t(286),O=t(310),j=t(313),k=t(312),C=t(92),_=t.n(C),g=t(309);var N=function e(a,t){return"link"===a.type?Object(d.isSamePath)(a.href,t):"category"===a.type&&a.items.some((function(a){return e(a,t)}))};function I(e){var a,t,i,l=e.item,r=e.onItemClick,o=e.collapsi [...]
\ No newline at end of file
diff --git a/assets/js/1be78505.e0d24c13.js b/assets/js/1be78505.e0d24c13.js
deleted file mode 100644
index 6caf820..0000000
--- a/assets/js/1be78505.e0d24c13.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{251:function(e,a,t){"use strict";t.r(a);var n=t(0),c=t.n(n),i=t(255),l=t(17),r=t(27),o=t(259),s=t(3),u=t(7),b=t(257),d=t(256),m=t(291),p=t(297),f=t(298),v=t(296),h=t(258),E=t(276),O=t(300),j=t(303),k=t(302),C=t(92),_=t.n(C),g=t(299);var N=function e(a,t){return"link"===a.type?Object(d.isSamePath)(a.href,t):"category"===a.type&&a.items.some((function(a){return e(a,t)}))};function I(e){var a,t,i,l=e.item,r=e.onItemClick,o=e.collapsi [...]
\ No newline at end of file
diff --git a/assets/js/1c89ab3b.3de84c7d.js b/assets/js/1c89ab3b.3de84c7d.js
deleted file mode 100644
index 38127d1..0000000
--- a/assets/js/1c89ab3b.3de84c7d.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{255:function(e,t,a){"use strict";a.d(t,"a",(function(){return h})),a.d(t,"b",(function(){return m}));var n=a(0),r=a.n(n);function s(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})) [...]
\ No newline at end of file
diff --git a/assets/js/1c89ab3b.87c16304.js b/assets/js/1c89ab3b.87c16304.js
new file mode 100644
index 0000000..d022bba
--- /dev/null
+++ b/assets/js/1c89ab3b.87c16304.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{265:function(e,t,a){"use strict";a.d(t,"a",(function(){return h})),a.d(t,"b",(function(){return m}));var n=a(0),r=a.n(n);function s(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})) [...]
\ No newline at end of file
diff --git a/assets/js/1ed156ee.4283935b.js b/assets/js/1ed156ee.4283935b.js
deleted file mode 100644
index b740bfc..0000000
--- a/assets/js/1ed156ee.4283935b.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{255:function(e,n,t){"use strict";t.d(n,"a",(function(){return u})),t.d(n,"b",(function(){return h}));var a=t(0),i=t.n(a);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/1ed156ee.9d5c211b.js b/assets/js/1ed156ee.9d5c211b.js
new file mode 100644
index 0000000..cdddaf6
--- /dev/null
+++ b/assets/js/1ed156ee.9d5c211b.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{265:function(e,n,t){"use strict";t.d(n,"a",(function(){return u})),t.d(n,"b",(function(){return h}));var a=t(0),i=t.n(a);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/1fb562de.416087d4.js b/assets/js/1fb562de.416087d4.js
deleted file mode 100644
index e9d2224..0000000
--- a/assets/js/1fb562de.416087d4.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{255:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);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 l(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})) [...]
\ No newline at end of file
diff --git a/assets/js/1fb562de.b9a4c98c.js b/assets/js/1fb562de.b9a4c98c.js
new file mode 100644
index 0000000..7bb0bc4
--- /dev/null
+++ b/assets/js/1fb562de.b9a4c98c.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{265:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);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 l(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})) [...]
\ No newline at end of file
diff --git a/assets/js/2.50a5d8dc.js b/assets/js/2.50a5d8dc.js
new file mode 100644
index 0000000..1805ab8
--- /dev/null
+++ b/assets/js/2.50a5d8dc.js
@@ -0,0 +1,2 @@
+/*! For license information please see 2.50a5d8dc.js.LICENSE.txt */
+(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{269:function(e,t,a){"use strict";var n=a(0),r=a.n(n),c=a(267),o=a(64),l=a.n(o);var i=function(){return r.a.createElement("nav",{"aria-label":"Skip navigation links"},r.a.createElement("button",{type:"button",tabIndex:0,className:l.a.skipToContent,onKeyDown:function(e){if(13===e.keyCode){document.activeElement.blur();var t=document.querySelector("main:first-of-type");t&&t.scrollIntoView()}}},"Skip to main content"))},s=a(266),u=a(30 [...]
\ No newline at end of file
diff --git a/zh/assets/js/2.dd50ecc7.js.LICENSE.txt b/assets/js/2.50a5d8dc.js.LICENSE.txt
similarity index 100%
rename from zh/assets/js/2.dd50ecc7.js.LICENSE.txt
rename to assets/js/2.50a5d8dc.js.LICENSE.txt
diff --git a/assets/js/2.dd50ecc7.js b/assets/js/2.dd50ecc7.js
deleted file mode 100644
index d77776b..0000000
--- a/assets/js/2.dd50ecc7.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see 2.dd50ecc7.js.LICENSE.txt */
-(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{259:function(e,t,a){"use strict";var n=a(0),r=a.n(n),c=a(257),o=a(64),l=a.n(o);var i=function(){return r.a.createElement("nav",{"aria-label":"Skip navigation links"},r.a.createElement("button",{type:"button",tabIndex:0,className:l.a.skipToContent,onKeyDown:function(e){if(13===e.keyCode){document.activeElement.blur();var t=document.querySelector("main:first-of-type");t&&t.scrollIntoView()}}},"Skip to main content"))},s=a(256),u=a(29 [...]
\ No newline at end of file
diff --git a/assets/js/25b7c3f2.18bebb60.js b/assets/js/25b7c3f2.18bebb60.js
new file mode 100644
index 0000000..040c1f7
--- /dev/null
+++ b/assets/js/25b7c3f2.18bebb60.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{279:function(e,t,r){"use strict";var n=r(0);function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t) [...]
\ No newline at end of file
diff --git a/assets/js/25b7c3f2.46f93376.js b/assets/js/25b7c3f2.46f93376.js
deleted file mode 100644
index f5b26dd..0000000
--- a/assets/js/25b7c3f2.46f93376.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{269:function(e,t,r){"use strict";var n=r(0);function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t) [...]
\ No newline at end of file
diff --git a/assets/js/25fbf809.d4b159c5.js b/assets/js/25fbf809.d4b159c5.js
deleted file mode 100644
index fced766..0000000
--- a/assets/js/25fbf809.d4b159c5.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{255:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);function l(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})) [...]
\ No newline at end of file
diff --git a/assets/js/25fbf809.f1ec72aa.js b/assets/js/25fbf809.f1ec72aa.js
new file mode 100644
index 0000000..363195e
--- /dev/null
+++ b/assets/js/25fbf809.f1ec72aa.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{265:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);function l(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})) [...]
\ No newline at end of file
diff --git a/assets/js/264a218f.861a7637.js b/assets/js/264a218f.861a7637.js
new file mode 100644
index 0000000..076fec2
--- /dev/null
+++ b/assets/js/264a218f.861a7637.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{265:function(e,t,a){"use strict";a.d(t,"a",(function(){return b})),a.d(t,"b",(function(){return f}));var r=a(0),n=a.n(r);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/264a218f.ac60f4a3.js b/assets/js/264a218f.ac60f4a3.js
deleted file mode 100644
index 4eb75e2..0000000
--- a/assets/js/264a218f.ac60f4a3.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{255:function(e,t,a){"use strict";a.d(t,"a",(function(){return b})),a.d(t,"b",(function(){return f}));var r=a(0),n=a.n(r);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/27858f29.a1bb3f0d.js b/assets/js/27858f29.a1bb3f0d.js
deleted file mode 100644
index 27158a0..0000000
--- a/assets/js/27858f29.a1bb3f0d.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{100:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return c})),t.d(n,"metadata",(function(){return i})),t.d(n,"toc",(function(){return o})),t.d(n,"default",(function(){return l}));var a=t(3),r=t(7),s=(t(0),t(255)),c={title:"HMAC Generate Signature Examples"},i={unversionedId:"examples/plugins-hmac-auth-generate-signature",id:"examples/plugins-hmac-auth-generate-signature",isDocsHomePage:!1,title:"HMAC Generate [...]
\ No newline at end of file
diff --git a/assets/js/27858f29.bf3625b6.js b/assets/js/27858f29.bf3625b6.js
new file mode 100644
index 0000000..d07b4f6
--- /dev/null
+++ b/assets/js/27858f29.bf3625b6.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{100:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return c})),t.d(n,"metadata",(function(){return i})),t.d(n,"toc",(function(){return o})),t.d(n,"default",(function(){return l}));var a=t(3),r=t(8),s=(t(0),t(265)),c={title:"HMAC Generate Signature Examples"},i={unversionedId:"examples/plugins-hmac-auth-generate-signature",id:"examples/plugins-hmac-auth-generate-signature",isDocsHomePage:!1,title:"HMAC Generate [...]
\ No newline at end of file
diff --git a/assets/js/2a2f078e.9cee135a.js b/assets/js/2a2f078e.9cee135a.js
new file mode 100644
index 0000000..83ca109
--- /dev/null
+++ b/assets/js/2a2f078e.9cee135a.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{101:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return b})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),l=(n(0),n(265)),b={title:"http-logger"},i={unversionedId:"plugins/http-logger",id:"plugins/http-logger",isDocsHomePage:!1,title:"http-logger",description:"\x3c!--",source:"@site/docs/apisix/plugins/http-logger.md",s [...]
\ No newline at end of file
diff --git a/assets/js/2a2f078e.a84c235a.js b/assets/js/2a2f078e.a84c235a.js
deleted file mode 100644
index 61ffda7..0000000
--- a/assets/js/2a2f078e.a84c235a.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{101:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return b})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(7),l=(n(0),n(255)),b={title:"http-logger"},i={unversionedId:"plugins/http-logger",id:"plugins/http-logger",isDocsHomePage:!1,title:"http-logger",description:"\x3c!--",source:"@site/docs/apisix/plugins/http-logger.md",s [...]
\ No newline at end of file
diff --git a/assets/js/2b03a116.4e765717.js b/assets/js/2b03a116.4e765717.js
deleted file mode 100644
index 51484b3..0000000
--- a/assets/js/2b03a116.4e765717.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{102:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return c})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(255)),c={title:"Global rule"},o={unversionedId:"architecture-design/global-rule",id:"architecture-design/global-rule",isDocsHomePage:!1,title:"Global rule",description:"\x3c!--",source:"@site/docs/apisix/a [...]
\ No newline at end of file
diff --git a/assets/js/2b03a116.a3257073.js b/assets/js/2b03a116.a3257073.js
new file mode 100644
index 0000000..3919e33
--- /dev/null
+++ b/assets/js/2b03a116.a3257073.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{102:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return c})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(265)),c={title:"Global rule"},o={unversionedId:"architecture-design/global-rule",id:"architecture-design/global-rule",isDocsHomePage:!1,title:"Global rule",description:"\x3c!--",source:"@site/docs/apisix/a [...]
\ No newline at end of file
diff --git a/assets/js/2ceea113.0367f1b3.js b/assets/js/2ceea113.0367f1b3.js
deleted file mode 100644
index 777e827..0000000
--- a/assets/js/2ceea113.0367f1b3.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[35],{103:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return s})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(7),i=(n(0),n(255)),o={title:"Traffic Split in Apache APISIX Ingress Controller",author:"Chao Zhang",authorURL:"https://github.com/tokers",authorImageURL:"https://avatars.githubusercontent.com/u/10428333?s=460&u=f48ef50 [...]
\ No newline at end of file
diff --git a/assets/js/2ceea113.6092656a.js b/assets/js/2ceea113.6092656a.js
new file mode 100644
index 0000000..a636d41
--- /dev/null
+++ b/assets/js/2ceea113.6092656a.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[35],{103:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return s})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),i=(n(0),n(265)),o={title:"Traffic Split in Apache APISIX Ingress Controller",author:"Chao Zhang",authorURL:"https://github.com/tokers",authorImageURL:"https://avatars.githubusercontent.com/u/10428333?s=460&u=f48ef50 [...]
\ No newline at end of file
diff --git a/assets/js/2f1ee7b9.32208f32.js b/assets/js/2f1ee7b9.32208f32.js
new file mode 100644
index 0000000..97c992b
--- /dev/null
+++ b/assets/js/2f1ee7b9.32208f32.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{105:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return b})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),l=(n(0),n(265)),i={title:"Router radixtree"},o={unversionedId:"router-radixtree",id:"router-radixtree",isDocsHomePage:!1,title:"Router radixtree",description:"\x3c!--",source:"@site/docs/apisix/router-radixtree.md", [...]
\ No newline at end of file
diff --git a/assets/js/2f1ee7b9.c49c58bc.js b/assets/js/2f1ee7b9.c49c58bc.js
deleted file mode 100644
index a6adc75..0000000
--- a/assets/js/2f1ee7b9.c49c58bc.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{105:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return b})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),l=(n(0),n(255)),i={title:"Router radixtree"},o={unversionedId:"router-radixtree",id:"router-radixtree",isDocsHomePage:!1,title:"Router radixtree",description:"\x3c!--",source:"@site/docs/apisix/router-radixtree.md", [...]
\ No newline at end of file
diff --git a/assets/js/2f7e5bad.580f3574.js b/assets/js/2f7e5bad.580f3574.js
new file mode 100644
index 0000000..e3340bf
--- /dev/null
+++ b/assets/js/2f7e5bad.580f3574.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{106:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return b})),n.d(t,"default",(function(){return c}));var r=n(3),a=n(8),l=(n(0),n(265)),o={title:"mqtt-proxy"},i={unversionedId:"plugins/mqtt-proxy",id:"plugins/mqtt-proxy",isDocsHomePage:!1,title:"mqtt-proxy",description:"\x3c!--",source:"@site/docs/apisix/plugins/mqtt-proxy.md",slug:" [...]
\ No newline at end of file
diff --git a/assets/js/2f7e5bad.b7dc368b.js b/assets/js/2f7e5bad.b7dc368b.js
deleted file mode 100644
index 59a191f..0000000
--- a/assets/js/2f7e5bad.b7dc368b.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{106:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return b})),n.d(t,"default",(function(){return c}));var r=n(3),a=n(7),l=(n(0),n(255)),o={title:"mqtt-proxy"},i={unversionedId:"plugins/mqtt-proxy",id:"plugins/mqtt-proxy",isDocsHomePage:!1,title:"mqtt-proxy",description:"\x3c!--",source:"@site/docs/apisix/plugins/mqtt-proxy.md",slug:" [...]
\ No newline at end of file
diff --git a/assets/js/3.485a7a73.js b/assets/js/3.485a7a73.js
deleted file mode 100644
index 0b9c005..0000000
--- a/assets/js/3.485a7a73.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{264:function(e,t,r){"use strict";(function(e){var n=r(26),i=r(0),a=r.n(i),o=r(332),s=r.n(o),c=r(333),l=r(334),u=r(348),h=r(29),f=r.n(h);function d(){return(d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}var p=function(e,t){for(var r=[e[0]],n=0,i=t.length;n<i;n+=1)r.push(t[n],e[n+1]);return r},g [...]
\ No newline at end of file
diff --git a/assets/js/3.4bb9034a.js b/assets/js/3.4bb9034a.js
new file mode 100644
index 0000000..75cdb79
--- /dev/null
+++ b/assets/js/3.4bb9034a.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{274:function(e,t,r){"use strict";(function(e){var n=r(26),i=r(0),a=r.n(i),o=r(342),s=r.n(o),c=r(343),l=r(344),u=r(358),h=r(29),f=r.n(h);function d(){return(d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}var p=function(e,t){for(var r=[e[0]],n=0,i=t.length;n<i;n+=1)r.push(t[n],e[n+1]);return r},g [...]
\ No newline at end of file
diff --git a/assets/js/31fa6cf3.acbb5cea.js b/assets/js/31fa6cf3.acbb5cea.js
new file mode 100644
index 0000000..b50305b
--- /dev/null
+++ b/assets/js/31fa6cf3.acbb5cea.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{107:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return u}));var a=n(3),r=n(8),i=(n(0),n(265)),l={title:"node-status"},o={unversionedId:"plugins/node-status",id:"plugins/node-status",isDocsHomePage:!1,title:"node-status",description:"\x3c!--",source:"@site/docs/apisix/plugins/node-status.md",s [...]
\ No newline at end of file
diff --git a/assets/js/31fa6cf3.d2bcb0a8.js b/assets/js/31fa6cf3.d2bcb0a8.js
deleted file mode 100644
index fe8b780..0000000
--- a/assets/js/31fa6cf3.d2bcb0a8.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{107:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return u}));var a=n(3),r=n(7),i=(n(0),n(255)),l={title:"node-status"},o={unversionedId:"plugins/node-status",id:"plugins/node-status",isDocsHomePage:!1,title:"node-status",description:"\x3c!--",source:"@site/docs/apisix/plugins/node-status.md",s [...]
\ No newline at end of file
diff --git a/assets/js/32e589c1.4621d672.js b/assets/js/32e589c1.4621d672.js
deleted file mode 100644
index f73718d..0000000
--- a/assets/js/32e589c1.4621d672.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{108:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return o})),a.d(t,"metadata",(function(){return c})),a.d(t,"toc",(function(){return s})),a.d(t,"default",(function(){return p}));var n=a(3),r=a(7),i=(a(0),a(255)),o={title:"Getting Started"},c={unversionedId:"getting-started",id:"getting-started",isDocsHomePage:!1,title:"Getting Started",description:"\x3c!--",source:"@site/docs/apisix/getting-started.md",slug: [...]
\ No newline at end of file
diff --git a/assets/js/32e589c1.7ecbcb2d.js b/assets/js/32e589c1.7ecbcb2d.js
new file mode 100644
index 0000000..64b9880
--- /dev/null
+++ b/assets/js/32e589c1.7ecbcb2d.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{108:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return o})),a.d(t,"metadata",(function(){return c})),a.d(t,"toc",(function(){return s})),a.d(t,"default",(function(){return p}));var n=a(3),r=a(8),i=(a(0),a(265)),o={title:"Getting Started"},c={unversionedId:"getting-started",id:"getting-started",isDocsHomePage:!1,title:"Getting Started",description:"\x3c!--",source:"@site/docs/apisix/getting-started.md",slug: [...]
\ No newline at end of file
diff --git a/assets/js/3316b9c0.56976f80.js b/assets/js/3316b9c0.56976f80.js
deleted file mode 100644
index 121462d..0000000
--- a/assets/js/3316b9c0.56976f80.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{109:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return i})),a.d(t,"metadata",(function(){return c})),a.d(t,"toc",(function(){return s})),a.d(t,"default",(function(){return d}));var n=a(3),r=a(7),o=(a(0),a(255)),i={title:"FAQ"},c={unversionedId:"FAQ",id:"FAQ",isDocsHomePage:!1,title:"FAQ",description:"\x3c!--",source:"@site/docs/apisix-dashboard/FAQ.md",slug:"/FAQ",permalink:"/docs/dashboard/FAQ",editUrl:"ht [...]
\ No newline at end of file
diff --git a/assets/js/3316b9c0.b2c198f5.js b/assets/js/3316b9c0.b2c198f5.js
new file mode 100644
index 0000000..46a70a7
--- /dev/null
+++ b/assets/js/3316b9c0.b2c198f5.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{109:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return i})),a.d(t,"metadata",(function(){return c})),a.d(t,"toc",(function(){return s})),a.d(t,"default",(function(){return d}));var n=a(3),r=a(8),o=(a(0),a(265)),i={title:"FAQ"},c={unversionedId:"FAQ",id:"FAQ",isDocsHomePage:!1,title:"FAQ",description:"\x3c!--",source:"@site/docs/apisix-dashboard/FAQ.md",slug:"/FAQ",permalink:"/docs/dashboard/FAQ",editUrl:"ht [...]
\ No newline at end of file
diff --git a/assets/js/3393d167.51b64f69.js b/assets/js/3393d167.51b64f69.js
deleted file mode 100644
index 2cf6ecd..0000000
--- a/assets/js/3393d167.51b64f69.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{110:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return u})),r.d(t,"default",(function(){return s}));var n=r(3),o=r(7),a=(r(0),r(255)),c={},i={unversionedId:"IGNORE_DOC",id:"IGNORE_DOC",isDocsHomePage:!1,title:"IGNORE_DOC",description:"IGNORE_DOC",source:"@site/docs/apisix-dashboard/IGNORE_DOC.md",slug:"/IGNORE_DOC",permalink:"/docs [...]
\ No newline at end of file
diff --git a/assets/js/3393d167.a3c394f6.js b/assets/js/3393d167.a3c394f6.js
new file mode 100644
index 0000000..be66e06
--- /dev/null
+++ b/assets/js/3393d167.a3c394f6.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{110:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return u})),r.d(t,"default",(function(){return s}));var n=r(3),o=r(8),a=(r(0),r(265)),c={},i={unversionedId:"IGNORE_DOC",id:"IGNORE_DOC",isDocsHomePage:!1,title:"IGNORE_DOC",description:"IGNORE_DOC",source:"@site/docs/apisix-dashboard/IGNORE_DOC.md",slug:"/IGNORE_DOC",permalink:"/docs [...]
\ No newline at end of file
diff --git a/assets/js/358566b4.485664fa.js b/assets/js/358566b4.485664fa.js
new file mode 100644
index 0000000..816cff3
--- /dev/null
+++ b/assets/js/358566b4.485664fa.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{111:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return a})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return u})),r.d(t,"default",(function(){return l}));var n=r(3),o=r(8),c=(r(0),r(265)),a={},i={unversionedId:"IGNORE_DOC",id:"IGNORE_DOC",isDocsHomePage:!1,title:"IGNORE_DOC",description:"IGNORE_DOC",source:"@site/docs/apisix-docker/IGNORE_DOC.md",slug:"/IGNORE_DOC",permalink:"/docs/do [...]
\ No newline at end of file
diff --git a/assets/js/37e3b3ea.8e287a16.js b/assets/js/37e3b3ea.8e287a16.js
deleted file mode 100644
index f7c398e..0000000
--- a/assets/js/37e3b3ea.8e287a16.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{111:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return u})),r.d(t,"toc",(function(){return i})),r.d(t,"default",(function(){return f}));var n=r(3),o=r(7),a=(r(0),r(255)),c={title:"New website for Apache APISIX",author:"juzhiyuan",authorURL:"https://github.com/juzhiyuan",authorImageURL:"https://avatars3.githubusercontent.com/u/2106987?s=460&u=f92e880ce95fe1fee18becd0a [...]
\ No newline at end of file
diff --git a/assets/js/37e3b3ea.f33716de.js b/assets/js/37e3b3ea.f33716de.js
new file mode 100644
index 0000000..d9b7221
--- /dev/null
+++ b/assets/js/37e3b3ea.f33716de.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{112:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return u})),r.d(t,"toc",(function(){return i})),r.d(t,"default",(function(){return f}));var n=r(3),o=r(8),a=(r(0),r(265)),c={title:"New website for Apache APISIX",author:"juzhiyuan",authorURL:"https://github.com/juzhiyuan",authorImageURL:"https://avatars3.githubusercontent.com/u/2106987?s=460&u=f92e880ce95fe1fee18becd0a [...]
\ No newline at end of file
diff --git a/assets/js/383740fd.abac9d6b.js b/assets/js/383740fd.abac9d6b.js
deleted file mode 100644
index 1e8fff9..0000000
--- a/assets/js/383740fd.abac9d6b.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{112:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return b})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return c}));var r=n(3),a=n(7),i=(n(0),n(255)),l={title:"proxy-rewrite"},b={unversionedId:"plugins/proxy-rewrite",id:"plugins/proxy-rewrite",isDocsHomePage:!1,title:"proxy-rewrite",description:"\x3c!--",source:"@site/docs/apisix/plugins/proxy-rew [...]
\ No newline at end of file
diff --git a/assets/js/383740fd.bfc5004a.js b/assets/js/383740fd.bfc5004a.js
new file mode 100644
index 0000000..403d6ab
--- /dev/null
+++ b/assets/js/383740fd.bfc5004a.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{113:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return b})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return c}));var r=n(3),a=n(8),i=(n(0),n(265)),l={title:"proxy-rewrite"},b={unversionedId:"plugins/proxy-rewrite",id:"plugins/proxy-rewrite",isDocsHomePage:!1,title:"proxy-rewrite",description:"\x3c!--",source:"@site/docs/apisix/plugins/proxy-rew [...]
\ No newline at end of file
diff --git a/assets/js/3a136aea.12cb8f8f.js b/assets/js/3a136aea.12cb8f8f.js
deleted file mode 100644
index 91ccfd7..0000000
--- a/assets/js/3a136aea.12cb8f8f.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{113:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return b})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(255)),l={title:"referer-restriction"},c={unversionedId:"plugins/referer-restriction",id:"plugins/referer-restriction",isDocsHomePage:!1,title:"referer-restriction",description:"\x3c!--",source:"@site/docs/ [...]
\ No newline at end of file
diff --git a/assets/js/3a136aea.c6767958.js b/assets/js/3a136aea.c6767958.js
new file mode 100644
index 0000000..ae28250
--- /dev/null
+++ b/assets/js/3a136aea.c6767958.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{114:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return b})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(265)),l={title:"referer-restriction"},c={unversionedId:"plugins/referer-restriction",id:"plugins/referer-restriction",isDocsHomePage:!1,title:"referer-restriction",description:"\x3c!--",source:"@site/docs/ [...]
\ No newline at end of file
diff --git a/assets/js/3ace1223.05983f1b.js b/assets/js/3ace1223.05983f1b.js
new file mode 100644
index 0000000..5fb4949
--- /dev/null
+++ b/assets/js/3ace1223.05983f1b.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{115:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return l}));var a=n(3),r=n(8),i=(n(0),n(265)),s={title:"prometheus"},c={unversionedId:"plugins/prometheus",id:"plugins/prometheus",isDocsHomePage:!1,title:"prometheus",description:"\x3c!--",source:"@site/docs/apisix/plugins/prometheus.md",slug:" [...]
\ No newline at end of file
diff --git a/assets/js/3ace1223.3a2359d9.js b/assets/js/3ace1223.3a2359d9.js
deleted file mode 100644
index 5b6b94d..0000000
--- a/assets/js/3ace1223.3a2359d9.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{114:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return l}));var a=n(3),r=n(7),i=(n(0),n(255)),s={title:"prometheus"},c={unversionedId:"plugins/prometheus",id:"plugins/prometheus",isDocsHomePage:!1,title:"prometheus",description:"\x3c!--",source:"@site/docs/apisix/plugins/prometheus.md",slug:" [...]
\ No newline at end of file
diff --git a/assets/js/3dc9f306.2c8482e3.js b/assets/js/3dc9f306.2c8482e3.js
new file mode 100644
index 0000000..5aec7fa
--- /dev/null
+++ b/assets/js/3dc9f306.2c8482e3.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{116:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return u})),n.d(t,"default",(function(){return l}));var r=n(3),o=n(8),a=(n(0),n(265)),i={id:"2fa",title:"2FA"},c={unversionedId:"2fa",id:"2fa",isDocsHomePage:!1,title:"2FA",description:"Two-factor authentication(2FA)",source:"@site/docs/general/2fa.md",slug:"/2fa",permalink:"/docs/gen [...]
\ No newline at end of file
diff --git a/assets/js/3dc9f306.65510f29.js b/assets/js/3dc9f306.65510f29.js
deleted file mode 100644
index 1d7e6fc..0000000
--- a/assets/js/3dc9f306.65510f29.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{115:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return u})),n.d(t,"default",(function(){return s}));var r=n(3),o=n(7),a=(n(0),n(255)),i={id:"2fa",title:"2FA"},c={unversionedId:"2fa",id:"2fa",isDocsHomePage:!1,title:"2FA",description:"Two-factor authentication(2FA)",source:"@site/docs/general/2fa.md",slug:"/2fa",permalink:"/docs/gen [...]
\ No newline at end of file
diff --git a/assets/js/4.40808762.js b/assets/js/4.40808762.js
new file mode 100644
index 0000000..1e55c33
--- /dev/null
+++ b/assets/js/4.40808762.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{265:function(e,t,a){"use strict";a.d(t,"a",(function(){return m})),a.d(t,"b",(function(){return d}));var n=a(0),r=a.n(n);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(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}))) [...]
\ No newline at end of file
diff --git a/assets/js/4.bed3a1bc.js b/assets/js/4.bed3a1bc.js
deleted file mode 100644
index 2f0a38c..0000000
--- a/assets/js/4.bed3a1bc.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{255:function(e,t,a){"use strict";a.d(t,"a",(function(){return m})),a.d(t,"b",(function(){return d}));var n=a(0),r=a.n(n);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(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}))) [...]
\ No newline at end of file
diff --git a/assets/js/40fb2fae.3e541a0a.js b/assets/js/40fb2fae.3e541a0a.js
new file mode 100644
index 0000000..73b93c8
--- /dev/null
+++ b/assets/js/40fb2fae.3e541a0a.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[49],{117:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return a})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return u})),r.d(t,"default",(function(){return l}));var n=r(3),o=r(8),c=(r(0),r(265)),a={},i={unversionedId:"IGNORE_DOC",id:"IGNORE_DOC",isDocsHomePage:!1,title:"IGNORE_DOC",description:"IGNORE_DOC",source:"@site/docs/apisix-helm-chart/IGNORE_DOC.md",slug:"/IGNORE_DOC",permalink:"/doc [...]
\ No newline at end of file
diff --git a/assets/js/41a31a3f.19599bd0.js b/assets/js/41a31a3f.19599bd0.js
deleted file mode 100644
index f087573..0000000
--- a/assets/js/41a31a3f.19599bd0.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{116:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return u}));var r=n(3),i=n(7),a=(n(0),n(255)),o={title:"Integration service discovery registry"},c={unversionedId:"discovery",id:"discovery",isDocsHomePage:!1,title:"Integration service discovery registry",description:"\x3c!--",source:"@site/doc [...]
\ No newline at end of file
diff --git a/assets/js/41a31a3f.e8aedb7c.js b/assets/js/41a31a3f.e8aedb7c.js
new file mode 100644
index 0000000..9211aa9
--- /dev/null
+++ b/assets/js/41a31a3f.e8aedb7c.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{118:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return u}));var r=n(3),i=n(8),a=(n(0),n(265)),o={title:"Integration service discovery registry"},c={unversionedId:"discovery",id:"discovery",isDocsHomePage:!1,title:"Integration service discovery registry",description:"\x3c!--",source:"@site/doc [...]
\ No newline at end of file
diff --git a/assets/js/41b4926b.084a0445.js b/assets/js/41b4926b.084a0445.js
new file mode 100644
index 0000000..74a7749
--- /dev/null
+++ b/assets/js/41b4926b.084a0445.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[51],{119:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return p})),a.d(t,"metadata",(function(){return c})),a.d(t,"toc",(function(){return l})),a.d(t,"default",(function(){return u}));var r=a(3),i=a(8),n=(a(0),a(265)),p={title:"Release Apache APISIX 2.3"},c={permalink:"/events/2021/02/09/release-apache-apisix-2.3",source:"@site/events/2021-02-09-release-apache-apisix-2.3.md",description:"Change",date:"2021-02-09T0 [...]
\ No newline at end of file
diff --git a/assets/js/41b4926b.312a1d00.js b/assets/js/41b4926b.312a1d00.js
deleted file mode 100644
index f78797e..0000000
--- a/assets/js/41b4926b.312a1d00.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[49],{117:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return p})),a.d(t,"metadata",(function(){return c})),a.d(t,"toc",(function(){return l})),a.d(t,"default",(function(){return u}));var r=a(3),i=a(7),n=(a(0),a(255)),p={title:"Release Apache APISIX 2.3"},c={permalink:"/events/2021/02/09/release-apache-apisix-2.3",source:"@site/events/2021-02-09-release-apache-apisix-2.3.md",description:"Change",date:"2021-02-09T0 [...]
\ No newline at end of file
diff --git a/assets/js/43aea6af.1adf4bf2.js b/assets/js/43aea6af.1adf4bf2.js
new file mode 100644
index 0000000..88b7cfb
--- /dev/null
+++ b/assets/js/43aea6af.1adf4bf2.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[52],{120:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(265)),s={title:"Install Ingress APISIX on Google Cloud GKE"},o={unversionedId:"deployments/gke",id:"deployments/gke",isDocsHomePage:!1,title:"Install Ingress APISIX on Google Cloud GKE",description:"\x3c!- [...]
\ No newline at end of file
diff --git a/assets/js/43aea6af.e4302afb.js b/assets/js/43aea6af.e4302afb.js
deleted file mode 100644
index d149850..0000000
--- a/assets/js/43aea6af.e4302afb.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{118:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(255)),s={title:"Install Ingress APISIX on Google Cloud GKE"},o={unversionedId:"deployments/gke",id:"deployments/gke",isDocsHomePage:!1,title:"Install Ingress APISIX on Google Cloud GKE",description:"\x3c!- [...]
\ No newline at end of file
diff --git a/assets/js/47e0bf55.822e4208.js b/assets/js/47e0bf55.822e4208.js
new file mode 100644
index 0000000..fcd253a
--- /dev/null
+++ b/assets/js/47e0bf55.822e4208.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[53],{121:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return u}));var a=n(3),r=n(8),s=(n(0),n(265)),o={title:"Stable Product Delivery with Cypress",author:"Yi Sun",authorURL:"https://github.com/LiteSun",authorImageURL:"https://avatars.githubusercontent.com/u/31329157?s=400&u=e81b4bb4db2be162c1fcac6 [...]
\ No newline at end of file
diff --git a/assets/js/47e0bf55.cf9d07f0.js b/assets/js/47e0bf55.cf9d07f0.js
deleted file mode 100644
index a896b61..0000000
--- a/assets/js/47e0bf55.cf9d07f0.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[51],{119:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return u}));var a=n(3),r=n(7),s=(n(0),n(255)),o={title:"Stable Product Delivery with Cypress",author:"Yi Sun",authorURL:"https://github.com/LiteSun",authorImageURL:"https://avatars.githubusercontent.com/u/31329157?s=400&u=e81b4bb4db2be162c1fcac6 [...]
\ No newline at end of file
diff --git a/assets/js/47f8a22a.3b6d1ee3.js b/assets/js/47f8a22a.3b6d1ee3.js
deleted file mode 100644
index ac08b45..0000000
--- a/assets/js/47f8a22a.3b6d1ee3.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[52,111],{120:function(e,t,n){"use strict";n.r(t);var r=n(3),a=n(0),o=n.n(a),i=n(264),l=n(259),s=n(274),c=n(57),p=n(17),u=i.a.div.withConfig({displayName:"downloads__DownloadsPage",componentId:"hda3kd-0"})(["max-width:var(--ifm-container-width);margin:0 auto;padding:2rem var(--ifm-spacing-horizontal);width:100%;"]),d=i.a.h1.withConfig({displayName:"downloads__PageTitle",componentId:"hda3kd-1"})(["margin-top:2rem;font-size:3rem;font-weig [...]
\ No newline at end of file
diff --git a/assets/js/47f8a22a.6e14bdf8.js b/assets/js/47f8a22a.6e14bdf8.js
new file mode 100644
index 0000000..8596abe
--- /dev/null
+++ b/assets/js/47f8a22a.6e14bdf8.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[54,116],{122:function(e,t,n){"use strict";n.r(t);var r=n(3),a=n(0),o=n.n(a),i=n(274),l=n(269),s=n(284),c=n(57),p=n(17),u=i.a.div.withConfig({displayName:"downloads__DownloadsPage",componentId:"hda3kd-0"})(["max-width:var(--ifm-container-width);margin:0 auto;padding:2rem var(--ifm-spacing-horizontal);width:100%;"]),d=i.a.h1.withConfig({displayName:"downloads__PageTitle",componentId:"hda3kd-1"})(["margin-top:2rem;font-size:3rem;font-weig [...]
\ No newline at end of file
diff --git a/assets/js/4842b438.9f899c55.js b/assets/js/4842b438.9f899c55.js
deleted file mode 100644
index 1bd8418..0000000
--- a/assets/js/4842b438.9f899c55.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[53],{121:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return p})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return s}));var a=n(3),r=n(7),i=(n(0),n(255)),l={title:"traffic-split"},p={unversionedId:"plugins/traffic-split",id:"plugins/traffic-split",isDocsHomePage:!1,title:"traffic-split",description:"\x3c!--",source:"@site/docs/apisix/plugins/traffic-s [...]
\ No newline at end of file
diff --git a/assets/js/4842b438.ea6b3584.js b/assets/js/4842b438.ea6b3584.js
new file mode 100644
index 0000000..e534c3a
--- /dev/null
+++ b/assets/js/4842b438.ea6b3584.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[55],{123:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return p})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return s}));var a=n(3),r=n(8),i=(n(0),n(265)),l={title:"traffic-split"},p={unversionedId:"plugins/traffic-split",id:"plugins/traffic-split",isDocsHomePage:!1,title:"traffic-split",description:"\x3c!--",source:"@site/docs/apisix/plugins/traffic-s [...]
\ No newline at end of file
diff --git a/assets/js/4b0b9689.18003f85.js b/assets/js/4b0b9689.18003f85.js
deleted file mode 100644
index 1d6b364..0000000
--- a/assets/js/4b0b9689.18003f85.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[54],{122:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return p})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return l}));var n=r(3),a=r(7),o=(r(0),r(255)),c={title:"Frontend E2E"},p={unversionedId:"front-end-e2e",id:"front-end-e2e",isDocsHomePage:!1,title:"Frontend E2E",description:"\x3c!--",source:"@site/docs/apisix-dashboard/front-end-e2e.md",slug:"/ [...]
\ No newline at end of file
diff --git a/assets/js/4b0b9689.aafb35e5.js b/assets/js/4b0b9689.aafb35e5.js
new file mode 100644
index 0000000..67d2f9c
--- /dev/null
+++ b/assets/js/4b0b9689.aafb35e5.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[56],{124:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return p})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return l}));var n=r(3),a=r(8),o=(r(0),r(265)),c={title:"Frontend E2E"},p={unversionedId:"front-end-e2e",id:"front-end-e2e",isDocsHomePage:!1,title:"Frontend E2E",description:"\x3c!--",source:"@site/docs/apisix-dashboard/front-end-e2e.md",slug:"/ [...]
\ No newline at end of file
diff --git a/assets/js/4e55a385.2dfb7031.js b/assets/js/4e55a385.2dfb7031.js
new file mode 100644
index 0000000..59c334a
--- /dev/null
+++ b/assets/js/4e55a385.2dfb7031.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[57],{125:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),s=(n(0),n(265)),i={title:"Install Ingress APISIX on Amazon EKS"},o={unversionedId:"deployments/aws",id:"deployments/aws",isDocsHomePage:!1,title:"Install Ingress APISIX on Amazon EKS",description:"\x3c!--",source:"@ [...]
\ No newline at end of file
diff --git a/assets/js/4e55a385.7897ddb6.js b/assets/js/4e55a385.7897ddb6.js
deleted file mode 100644
index 29bec87..0000000
--- a/assets/js/4e55a385.7897ddb6.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[55],{123:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(7),s=(n(0),n(255)),i={title:"Install Ingress APISIX on Amazon EKS"},o={unversionedId:"deployments/aws",id:"deployments/aws",isDocsHomePage:!1,title:"Install Ingress APISIX on Amazon EKS",description:"\x3c!--",source:"@ [...]
\ No newline at end of file
diff --git a/assets/js/4eed9ed2.059d4db7.js b/assets/js/4eed9ed2.059d4db7.js
new file mode 100644
index 0000000..9151e0a
--- /dev/null
+++ b/assets/js/4eed9ed2.059d4db7.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[58],{126:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return l})),r.d(t,"toc",(function(){return p})),r.d(t,"default",(function(){return s}));var a=r(3),n=r(8),i=(r(0),r(265)),c={title:"Release Apache APISIX Ingress Controller 0.2.0"},l={permalink:"/events/2021/01/19/release-apache-apisix-ingress-controller-0.2.0",source:"@site/events/2021-01-19-release-apache-apisix-ingre [...]
\ No newline at end of file
diff --git a/assets/js/4eed9ed2.cacfe61d.js b/assets/js/4eed9ed2.cacfe61d.js
deleted file mode 100644
index 1b30b95..0000000
--- a/assets/js/4eed9ed2.cacfe61d.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[56],{124:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return l})),r.d(t,"toc",(function(){return p})),r.d(t,"default",(function(){return s}));var a=r(3),n=r(7),i=(r(0),r(255)),c={title:"Release Apache APISIX Ingress Controller 0.2.0"},l={permalink:"/events/2021/01/19/release-apache-apisix-ingress-controller-0.2.0",source:"@site/events/2021-01-19-release-apache-apisix-ingre [...]
\ No newline at end of file
diff --git a/assets/js/4f34f66f.b0eeec54.js b/assets/js/4f34f66f.b0eeec54.js
new file mode 100644
index 0000000..e6ce27e
--- /dev/null
+++ b/assets/js/4f34f66f.b0eeec54.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[59],{127:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return i})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return l})),r.d(t,"default",(function(){return u}));var n=r(3),o=r(8),a=(r(0),r(265)),i={title:"Deploy with RPM"},c={unversionedId:"deploy-with-rpm",id:"deploy-with-rpm",isDocsHomePage:!1,title:"Deploy with RPM",description:"\x3c!--",source:"@site/docs/apisix-dashboard/deploy-with-rpm [...]
\ No newline at end of file
diff --git a/assets/js/4f34f66f.df52ebeb.js b/assets/js/4f34f66f.df52ebeb.js
deleted file mode 100644
index b53d18c..0000000
--- a/assets/js/4f34f66f.df52ebeb.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[57],{125:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return i})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return l})),r.d(t,"default",(function(){return u}));var n=r(3),o=r(7),a=(r(0),r(255)),i={title:"Deploy with RPM"},c={unversionedId:"deploy-with-rpm",id:"deploy-with-rpm",isDocsHomePage:!1,title:"Deploy with RPM",description:"\x3c!--",source:"@site/docs/apisix-dashboard/deploy-with-rpm [...]
\ No newline at end of file
diff --git a/assets/js/4f7f961a.e27acfd2.js b/assets/js/4f7f961a.e27acfd2.js
deleted file mode 100644
index 97c5e86..0000000
--- a/assets/js/4f7f961a.e27acfd2.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[58],{126:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return c})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return s}));var r=n(3),a=n(7),o=(n(0),n(255)),c={title:"Batch Processor"},i={unversionedId:"batch-processor",id:"batch-processor",isDocsHomePage:!1,title:"Batch Processor",description:"\x3c!--",source:"@site/docs/apisix/batch-processor.md",slug: [...]
\ No newline at end of file
diff --git a/assets/js/4f7f961a.fd3b2a83.js b/assets/js/4f7f961a.fd3b2a83.js
new file mode 100644
index 0000000..ec9ccce
--- /dev/null
+++ b/assets/js/4f7f961a.fd3b2a83.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[60],{128:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return c})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return s}));var r=n(3),a=n(8),o=(n(0),n(265)),c={title:"Batch Processor"},i={unversionedId:"batch-processor",id:"batch-processor",isDocsHomePage:!1,title:"Batch Processor",description:"\x3c!--",source:"@site/docs/apisix/batch-processor.md",slug: [...]
\ No newline at end of file
diff --git a/assets/js/50facf8e.1d11c0c7.js b/assets/js/50facf8e.1d11c0c7.js
deleted file mode 100644
index 4a4c5c9..0000000
--- a/assets/js/50facf8e.1d11c0c7.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[59],{127:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return o})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return p}));var i=r(3),n=r(7),a=(r(0),r(255)),o={id:"subscribe-guide",slug:"/subscribe-guide",title:"Subscribe Guide"},c={unversionedId:"subscribe-guide",id:"subscribe-guide",isDocsHomePage:!1,title:"Subscribe Guide",description:"During the proc [...]
\ No newline at end of file
diff --git a/assets/js/50facf8e.37302a53.js b/assets/js/50facf8e.37302a53.js
new file mode 100644
index 0000000..d7d601a
--- /dev/null
+++ b/assets/js/50facf8e.37302a53.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[61],{129:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return o})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return p}));var i=r(3),n=r(8),a=(r(0),r(265)),o={id:"subscribe-guide",slug:"/subscribe-guide",title:"Subscribe Guide"},c={unversionedId:"subscribe-guide",id:"subscribe-guide",isDocsHomePage:!1,title:"Subscribe Guide",description:"During the proc [...]
\ No newline at end of file
diff --git a/assets/js/514de2af.4feffba1.js b/assets/js/514de2af.4feffba1.js
deleted file mode 100644
index 3b86106..0000000
--- a/assets/js/514de2af.4feffba1.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[60],{128:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return u})),r.d(t,"default",(function(){return l}));var n=r(3),o=r(7),a=(r(0),r(255)),c={title:"Run Ingress APISIX on Amazon EKS",author:"Chao Zhang",authorURL:"https://github.com/tokers",authorImageURL:"https://avatars0.githubusercontent.com/u/10428333?s=60&v=4"},i={permalink:"/blog/ [...]
\ No newline at end of file
diff --git a/assets/js/514de2af.b7e815e3.js b/assets/js/514de2af.b7e815e3.js
new file mode 100644
index 0000000..ff414f0
--- /dev/null
+++ b/assets/js/514de2af.b7e815e3.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[62],{130:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return u})),r.d(t,"default",(function(){return l}));var n=r(3),o=r(8),a=(r(0),r(265)),c={title:"Run Ingress APISIX on Amazon EKS",author:"Chao Zhang",authorURL:"https://github.com/tokers",authorImageURL:"https://avatars0.githubusercontent.com/u/10428333?s=60&v=4"},i={permalink:"/blog/ [...]
\ No newline at end of file
diff --git a/assets/js/5381c375.5059970c.js b/assets/js/5381c375.5059970c.js
deleted file mode 100644
index c68a01c..0000000
--- a/assets/js/5381c375.5059970c.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[61],{129:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return s})),n.d(t,"toc",(function(){return i})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),c=(n(0),n(255)),o={title:"Benchmark"},s={unversionedId:"benchmark",id:"benchmark",isDocsHomePage:!1,title:"Benchmark",description:"\x3c!--",source:"@site/docs/apisix/benchmark.md",slug:"/benchmark",permalink:"/docs/ [...]
\ No newline at end of file
diff --git a/assets/js/5381c375.f41c5426.js b/assets/js/5381c375.f41c5426.js
new file mode 100644
index 0000000..947c363
--- /dev/null
+++ b/assets/js/5381c375.f41c5426.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[63],{131:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return s})),n.d(t,"toc",(function(){return i})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),c=(n(0),n(265)),o={title:"Benchmark"},s={unversionedId:"benchmark",id:"benchmark",isDocsHomePage:!1,title:"Benchmark",description:"\x3c!--",source:"@site/docs/apisix/benchmark.md",slug:"/benchmark",permalink:"/docs/ [...]
\ No newline at end of file
diff --git a/assets/js/5426aede.656943f6.js b/assets/js/5426aede.656943f6.js
new file mode 100644
index 0000000..d958692
--- /dev/null
+++ b/assets/js/5426aede.656943f6.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[64],{132:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return s})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),i=(n(0),n(265)),o={title:"Traffic Split in Apache APISIX Ingress Controller",author:"Chao Zhang",authorURL:"https://github.com/tokers",authorImageURL:"https://avatars.githubusercontent.com/u/10428333?s=460&u=f48ef50 [...]
\ No newline at end of file
diff --git a/assets/js/5426aede.a0461816.js b/assets/js/5426aede.a0461816.js
deleted file mode 100644
index 7684b57..0000000
--- a/assets/js/5426aede.a0461816.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[62],{130:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return s})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(7),i=(n(0),n(255)),o={title:"Traffic Split in Apache APISIX Ingress Controller",author:"Chao Zhang",authorURL:"https://github.com/tokers",authorImageURL:"https://avatars.githubusercontent.com/u/10428333?s=460&u=f48ef50 [...]
\ No newline at end of file
diff --git a/assets/js/562da56c.b76d7fe0.js b/assets/js/562da56c.b76d7fe0.js
new file mode 100644
index 0000000..3a4462d
--- /dev/null
+++ b/assets/js/562da56c.b76d7fe0.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[65],{133:function(e){e.exports=JSON.parse('{"pluginId":"docs-apisix-docker","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"collapsed":true,"type":"category","label":"Installation","items":[{"type":"link","label":"Build an image from the source codes","href":"/docs/docker/build"},{"type":"link","label":"Deploy Apache APISIX with Docker","href":"/docs/docker/manual"},{"type":"link","label":"Example","href":"/d [...]
\ No newline at end of file
diff --git a/assets/js/574dc000.d60c2356.js b/assets/js/574dc000.d60c2356.js
deleted file mode 100644
index f94e9c4..0000000
--- a/assets/js/574dc000.d60c2356.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[63],{131:function(e){e.exports=JSON.parse('{"permalink":"/events","page":1,"postsPerPage":10,"totalPages":1,"totalCount":8,"previousPage":null,"nextPage":null,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/574dc000.d89552fc.js b/assets/js/574dc000.d89552fc.js
new file mode 100644
index 0000000..b09f15a
--- /dev/null
+++ b/assets/js/574dc000.d89552fc.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[66],{134:function(e){e.exports=JSON.parse('{"permalink":"/events","page":1,"postsPerPage":10,"totalPages":1,"totalCount":8,"previousPage":null,"nextPage":null,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/579f31ee.95aeb9b1.js b/assets/js/579f31ee.95aeb9b1.js
deleted file mode 100644
index 0e062e8..0000000
--- a/assets/js/579f31ee.95aeb9b1.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[64],{132:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return b})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return o}));var a=n(3),r=n(7),l=(n(0),n(255)),i={title:"api-breaker"},b={unversionedId:"plugins/api-breaker",id:"plugins/api-breaker",isDocsHomePage:!1,title:"api-breaker",description:"\x3c!--",source:"@site/docs/apisix/plugins/api-breaker.md",s [...]
\ No newline at end of file
diff --git a/assets/js/579f31ee.f19e58db.js b/assets/js/579f31ee.f19e58db.js
new file mode 100644
index 0000000..d59beee
--- /dev/null
+++ b/assets/js/579f31ee.f19e58db.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[67],{135:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return b})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return o}));var a=n(3),r=n(8),l=(n(0),n(265)),i={title:"api-breaker"},b={unversionedId:"plugins/api-breaker",id:"plugins/api-breaker",isDocsHomePage:!1,title:"api-breaker",description:"\x3c!--",source:"@site/docs/apisix/plugins/api-breaker.md",s [...]
\ No newline at end of file
diff --git a/assets/js/59472992.96a67839.js b/assets/js/59472992.96a67839.js
new file mode 100644
index 0000000..69c67a8
--- /dev/null
+++ b/assets/js/59472992.96a67839.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[68],{136:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return b})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return o}));var a=n(3),r=n(8),l=(n(0),n(265)),i={title:"hmac-auth"},b={unversionedId:"plugins/hmac-auth",id:"plugins/hmac-auth",isDocsHomePage:!1,title:"hmac-auth",description:"\x3c!--",source:"@site/docs/apisix/plugins/hmac-auth.md",slug:"/plug [...]
\ No newline at end of file
diff --git a/assets/js/59472992.a9b43be8.js b/assets/js/59472992.a9b43be8.js
deleted file mode 100644
index 1e305ab..0000000
--- a/assets/js/59472992.a9b43be8.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[65],{133:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return b})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return o}));var a=n(3),r=n(7),l=(n(0),n(255)),i={title:"hmac-auth"},b={unversionedId:"plugins/hmac-auth",id:"plugins/hmac-auth",isDocsHomePage:!1,title:"hmac-auth",description:"\x3c!--",source:"@site/docs/apisix/plugins/hmac-auth.md",slug:"/plug [...]
\ No newline at end of file
diff --git a/assets/js/5aca9bfb.8eeb1a37.js b/assets/js/5aca9bfb.8eeb1a37.js
deleted file mode 100644
index d2b9453..0000000
--- a/assets/js/5aca9bfb.8eeb1a37.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[66],{134:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return c})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),o=(n(0),n(255)),c={title:"Get Front-End Test Coverage with Cypress",author:"Yi Sun",authorURL:"https://github.com/LiteSun",authorImageURL:"https://avatars.githubusercontent.com/u/31329157?s=400&u=e81b4bb4db2be162c1f [...]
\ No newline at end of file
diff --git a/assets/js/5aca9bfb.f05548c4.js b/assets/js/5aca9bfb.f05548c4.js
new file mode 100644
index 0000000..97e1d3d
--- /dev/null
+++ b/assets/js/5aca9bfb.f05548c4.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[69],{137:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return c})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),o=(n(0),n(265)),c={title:"Get Front-End Test Coverage with Cypress",author:"Yi Sun",authorURL:"https://github.com/LiteSun",authorImageURL:"https://avatars.githubusercontent.com/u/31329157?s=400&u=e81b4bb4db2be162c1f [...]
\ No newline at end of file
diff --git a/assets/js/5b9020fd.21e453d1.js b/assets/js/5b9020fd.21e453d1.js
deleted file mode 100644
index e6d6c59..0000000
--- a/assets/js/5b9020fd.21e453d1.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[67],{135:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return s}));var r=n(3),a=n(7),o=(n(0),n(255)),i={title:"gRPC Proxy"},l={unversionedId:"grpc-proxy",id:"grpc-proxy",isDocsHomePage:!1,title:"gRPC Proxy",description:"\x3c!--",source:"@site/docs/apisix/grpc-proxy.md",slug:"/grpc-proxy",permalink:" [...]
\ No newline at end of file
diff --git a/assets/js/5b9020fd.85467d8b.js b/assets/js/5b9020fd.85467d8b.js
new file mode 100644
index 0000000..47835ec
--- /dev/null
+++ b/assets/js/5b9020fd.85467d8b.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[70],{138:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return s}));var r=n(3),a=n(8),o=(n(0),n(265)),i={title:"gRPC Proxy"},l={unversionedId:"grpc-proxy",id:"grpc-proxy",isDocsHomePage:!1,title:"gRPC Proxy",description:"\x3c!--",source:"@site/docs/apisix/grpc-proxy.md",slug:"/grpc-proxy",permalink:" [...]
\ No newline at end of file
diff --git a/assets/js/5bb67ffc.65ddfe33.js b/assets/js/5bb67ffc.65ddfe33.js
new file mode 100644
index 0000000..190a141
--- /dev/null
+++ b/assets/js/5bb67ffc.65ddfe33.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[71],{139:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return p})),r.d(t,"default",(function(){return l}));var n=r(3),o=r(8),a=(r(0),r(265)),c={title:"\u521d\u63a2 Kubernetes Service APIs",author:"Wei Jin",authorURL:"https://github.com/gxthrj",authorImageURL:"https://avatars2.githubusercontent.com/u/4413028?s=400&u=e140a6d2bf19c426da6498b [...]
\ No newline at end of file
diff --git a/assets/js/5bb67ffc.bc7c83bd.js b/assets/js/5bb67ffc.bc7c83bd.js
deleted file mode 100644
index a416d0c..0000000
--- a/assets/js/5bb67ffc.bc7c83bd.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[68],{136:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return p})),r.d(t,"default",(function(){return l}));var n=r(3),o=r(7),a=(r(0),r(255)),c={title:"\u521d\u63a2 Kubernetes Service APIs",author:"Wei Jin",authorURL:"https://github.com/gxthrj",authorImageURL:"https://avatars2.githubusercontent.com/u/4413028?s=400&u=e140a6d2bf19c426da6498b [...]
\ No newline at end of file
diff --git a/assets/js/5c21e7f7.4a6d7226.js b/assets/js/5c21e7f7.4a6d7226.js
deleted file mode 100644
index a84d6ec..0000000
--- a/assets/js/5c21e7f7.4a6d7226.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[69],{137:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return a})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return l}));var r=n(3),i=n(7),o=(n(0),n(255)),a={title:"Plugin interceptors"},c={unversionedId:"plugin-interceptors",id:"plugin-interceptors",isDocsHomePage:!1,title:"Plugin interceptors",description:"\x3c!--",source:"@site/docs/apisix/plugin-in [...]
\ No newline at end of file
diff --git a/assets/js/5c21e7f7.aa7a999b.js b/assets/js/5c21e7f7.aa7a999b.js
new file mode 100644
index 0000000..4b0d4d5
--- /dev/null
+++ b/assets/js/5c21e7f7.aa7a999b.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[72],{140:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return a})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return l}));var r=n(3),i=n(8),o=(n(0),n(265)),a={title:"Plugin interceptors"},c={unversionedId:"plugin-interceptors",id:"plugin-interceptors",isDocsHomePage:!1,title:"Plugin interceptors",description:"\x3c!--",source:"@site/docs/apisix/plugin-in [...]
\ No newline at end of file
diff --git a/assets/js/601c6eaa.72dca6af.js b/assets/js/601c6eaa.72dca6af.js
deleted file mode 100644
index 88bda4c..0000000
--- a/assets/js/601c6eaa.72dca6af.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[70],{138:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return u})),r.d(t,"default",(function(){return l}));var n=r(3),o=r(7),a=(r(0),r(255)),c={},i={unversionedId:"IGNORE_DOC",id:"IGNORE_DOC",isDocsHomePage:!1,title:"IGNORE_DOC",description:"IGNORE_DOC",source:"@site/docs/apisix/IGNORE_DOC.md",slug:"/IGNORE_DOC",permalink:"/docs/apisix/IG [...]
\ No newline at end of file
diff --git a/assets/js/601c6eaa.98f6479c.js b/assets/js/601c6eaa.98f6479c.js
new file mode 100644
index 0000000..a419e01
--- /dev/null
+++ b/assets/js/601c6eaa.98f6479c.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[73],{141:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return u})),r.d(t,"default",(function(){return l}));var n=r(3),o=r(8),a=(r(0),r(265)),c={},i={unversionedId:"IGNORE_DOC",id:"IGNORE_DOC",isDocsHomePage:!1,title:"IGNORE_DOC",description:"IGNORE_DOC",source:"@site/docs/apisix/IGNORE_DOC.md",slug:"/IGNORE_DOC",permalink:"/docs/apisix/IG [...]
\ No newline at end of file
diff --git a/assets/js/601cd3be.025ec0e6.js b/assets/js/601cd3be.025ec0e6.js
deleted file mode 100644
index a515f80..0000000
--- a/assets/js/601cd3be.025ec0e6.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[71],{139:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return b})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return u})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(7),l=(n(0),n(255)),b={title:"dubbo-proxy"},i={unversionedId:"plugins/dubbo-proxy",id:"plugins/dubbo-proxy",isDocsHomePage:!1,title:"dubbo-proxy",description:"\x3c!--",source:"@site/docs/apisix/plugins/dubbo-proxy.md",s [...]
\ No newline at end of file
diff --git a/assets/js/601cd3be.a739e831.js b/assets/js/601cd3be.a739e831.js
new file mode 100644
index 0000000..62ec763
--- /dev/null
+++ b/assets/js/601cd3be.a739e831.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[74],{142:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return b})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return u})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),l=(n(0),n(265)),b={title:"dubbo-proxy"},i={unversionedId:"plugins/dubbo-proxy",id:"plugins/dubbo-proxy",isDocsHomePage:!1,title:"dubbo-proxy",description:"\x3c!--",source:"@site/docs/apisix/plugins/dubbo-proxy.md",s [...]
\ No newline at end of file
diff --git a/assets/js/63468b30.50a5c6b6.js b/assets/js/63468b30.50a5c6b6.js
new file mode 100644
index 0000000..ab8b6ee
--- /dev/null
+++ b/assets/js/63468b30.50a5c6b6.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[75],{143:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return u})),n.d(t,"toc",(function(){return b})),n.d(t,"default",(function(){return o}));var r=n(3),a=n(8),i=(n(0),n(265)),l={title:"request-id"},u={unversionedId:"plugins/request-id",id:"plugins/request-id",isDocsHomePage:!1,title:"request-id",description:"\x3c!--",source:"@site/docs/apisix/plugins/request-id.md",slug:" [...]
\ No newline at end of file
diff --git a/assets/js/63468b30.a4153f58.js b/assets/js/63468b30.a4153f58.js
deleted file mode 100644
index 41f4090..0000000
--- a/assets/js/63468b30.a4153f58.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[72],{140:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return u})),n.d(t,"toc",(function(){return b})),n.d(t,"default",(function(){return o}));var r=n(3),a=n(7),i=(n(0),n(255)),l={title:"request-id"},u={unversionedId:"plugins/request-id",id:"plugins/request-id",isDocsHomePage:!1,title:"request-id",description:"\x3c!--",source:"@site/docs/apisix/plugins/request-id.md",slug:" [...]
\ No newline at end of file
diff --git a/assets/js/64288df6.00080342.js b/assets/js/64288df6.00080342.js
new file mode 100644
index 0000000..63a286d
--- /dev/null
+++ b/assets/js/64288df6.00080342.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[76],{144:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(265)),s={title:"Install Ingress APISIX on Tencent TKE"},o={unversionedId:"deployments/tke",id:"deployments/tke",isDocsHomePage:!1,title:"Install Ingress APISIX on Tencent TKE",description:"\x3c!--",source: [...]
\ No newline at end of file
diff --git a/assets/js/64288df6.61c35531.js b/assets/js/64288df6.61c35531.js
deleted file mode 100644
index daab38b..0000000
--- a/assets/js/64288df6.61c35531.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[73],{141:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(255)),s={title:"Install Ingress APISIX on Tencent TKE"},o={unversionedId:"deployments/tke",id:"deployments/tke",isDocsHomePage:!1,title:"Install Ingress APISIX on Tencent TKE",description:"\x3c!--",source: [...]
\ No newline at end of file
diff --git a/assets/js/645be848.3edd2a23.js b/assets/js/645be848.3edd2a23.js
new file mode 100644
index 0000000..ce5f9d8
--- /dev/null
+++ b/assets/js/645be848.3edd2a23.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[77],{145:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return i})),t.d(n,"metadata",(function(){return o})),t.d(n,"toc",(function(){return b})),t.d(n,"default",(function(){return c}));var a=t(3),r=t(8),l=(t(0),t(265)),i={title:"request-validation"},o={unversionedId:"plugins/request-validation",id:"plugins/request-validation",isDocsHomePage:!1,title:"request-validation",description:"\x3c!--",source:"@site/docs/apis [...]
\ No newline at end of file
diff --git a/assets/js/645be848.c082a46c.js b/assets/js/645be848.c082a46c.js
deleted file mode 100644
index 8f5895e..0000000
--- a/assets/js/645be848.c082a46c.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[74],{142:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return i})),t.d(n,"metadata",(function(){return o})),t.d(n,"toc",(function(){return b})),t.d(n,"default",(function(){return c}));var a=t(3),r=t(7),l=(t(0),t(255)),i={title:"request-validation"},o={unversionedId:"plugins/request-validation",id:"plugins/request-validation",isDocsHomePage:!1,title:"request-validation",description:"\x3c!--",source:"@site/docs/apis [...]
\ No newline at end of file
diff --git a/assets/js/65962b6f.2109b88a.js b/assets/js/65962b6f.2109b88a.js
new file mode 100644
index 0000000..8997a2c
--- /dev/null
+++ b/assets/js/65962b6f.2109b88a.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[78],{146:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return i})),r.d(t,"metadata",(function(){return p})),r.d(t,"toc",(function(){return c})),r.d(t,"default",(function(){return l}));var n=r(3),a=r(8),o=(r(0),r(265)),i={title:"Stream Proxy"},p={unversionedId:"stream-proxy",id:"stream-proxy",isDocsHomePage:!1,title:"Stream Proxy",description:"\x3c!--",source:"@site/docs/apisix/stream-proxy.md",slug:"/stream-proxy" [...]
\ No newline at end of file
diff --git a/assets/js/65962b6f.21d1e6e7.js b/assets/js/65962b6f.21d1e6e7.js
deleted file mode 100644
index 008b409..0000000
--- a/assets/js/65962b6f.21d1e6e7.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[75],{143:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return i})),r.d(t,"metadata",(function(){return p})),r.d(t,"toc",(function(){return c})),r.d(t,"default",(function(){return l}));var n=r(3),a=r(7),o=(r(0),r(255)),i={title:"Stream Proxy"},p={unversionedId:"stream-proxy",id:"stream-proxy",isDocsHomePage:!1,title:"Stream Proxy",description:"\x3c!--",source:"@site/docs/apisix/stream-proxy.md",slug:"/stream-proxy" [...]
\ No newline at end of file
diff --git a/assets/js/66fbb9c2.58046a03.js b/assets/js/66fbb9c2.58046a03.js
new file mode 100644
index 0000000..833bc3f
--- /dev/null
+++ b/assets/js/66fbb9c2.58046a03.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[79],{147:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return o})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return p}));var n=r(3),a=r(8),i=(r(0),r(265)),o={id:"security",title:"Security"},c={unversionedId:"security",id:"security",isDocsHomePage:!1,title:"Security",description:"The Apache Software Foundation takes a rigorous stance on eliminating secu [...]
\ No newline at end of file
diff --git a/assets/js/66fbb9c2.8ed107c1.js b/assets/js/66fbb9c2.8ed107c1.js
deleted file mode 100644
index 662b92e..0000000
--- a/assets/js/66fbb9c2.8ed107c1.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[76],{144:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return o})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return p}));var n=r(3),a=r(7),i=(r(0),r(255)),o={id:"security",title:"Security"},c={unversionedId:"security",id:"security",isDocsHomePage:!1,title:"Security",description:"The Apache Software Foundation takes a rigorous stance on eliminating secu [...]
\ No newline at end of file
diff --git a/assets/js/679cfa79.b2feb48a.js b/assets/js/679cfa79.b2feb48a.js
new file mode 100644
index 0000000..e14cf56
--- /dev/null
+++ b/assets/js/679cfa79.b2feb48a.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[80],{148:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return b})),a.d(t,"metadata",(function(){return o})),a.d(t,"toc",(function(){return c})),a.d(t,"default",(function(){return i}));var n=a(3),l=a(8),r=(a(0),a(265)),b={title:"i18n User Guide"},o={unversionedId:"I18N_USER_GUIDE",id:"I18N_USER_GUIDE",isDocsHomePage:!1,title:"i18n User Guide",description:"\x3c!--",source:"@site/docs/apisix-dashboard/I18N_USER_GUIDE [...]
\ No newline at end of file
diff --git a/assets/js/679cfa79.e432a6e4.js b/assets/js/679cfa79.e432a6e4.js
deleted file mode 100644
index d6e95bf..0000000
--- a/assets/js/679cfa79.e432a6e4.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[77],{145:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return b})),a.d(t,"metadata",(function(){return o})),a.d(t,"toc",(function(){return c})),a.d(t,"default",(function(){return i}));var n=a(3),l=a(7),r=(a(0),a(255)),b={title:"i18n User Guide"},o={unversionedId:"I18N_USER_GUIDE",id:"I18N_USER_GUIDE",isDocsHomePage:!1,title:"i18n User Guide",description:"\x3c!--",source:"@site/docs/apisix-dashboard/I18N_USER_GUIDE [...]
\ No newline at end of file
diff --git a/assets/js/6967878f.788fe9a0.js b/assets/js/6967878f.788fe9a0.js
new file mode 100644
index 0000000..00ef7d3
--- /dev/null
+++ b/assets/js/6967878f.788fe9a0.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[81],{149:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),i=(n(0),n(265)),s={title:"Install Ingress APISIX on ACK"},l={unversionedId:"deployments/ack",id:"deployments/ack",isDocsHomePage:!1,title:"Install Ingress APISIX on ACK",description:"\x3c!--",source:"@site/docs/apis [...]
\ No newline at end of file
diff --git a/assets/js/6967878f.896e5b40.js b/assets/js/6967878f.896e5b40.js
deleted file mode 100644
index 7a092a4..0000000
--- a/assets/js/6967878f.896e5b40.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[78],{146:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(7),i=(n(0),n(255)),s={title:"Install Ingress APISIX on ACK"},l={unversionedId:"deployments/ack",id:"deployments/ack",isDocsHomePage:!1,title:"Install Ingress APISIX on ACK",description:"\x3c!--",source:"@site/docs/apis [...]
\ No newline at end of file
diff --git a/assets/js/6d5713a9.aaba983d.js b/assets/js/6d5713a9.aaba983d.js
deleted file mode 100644
index d2f05dd..0000000
--- a/assets/js/6d5713a9.aaba983d.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[79],{147:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return i})),t.d(n,"metadata",(function(){return c})),t.d(n,"toc",(function(){return o})),t.d(n,"default",(function(){return p}));var a=t(3),l=t(7),r=(t(0),t(255)),i={title:"fault-injection"},c={unversionedId:"plugins/fault-injection",id:"plugins/fault-injection",isDocsHomePage:!1,title:"fault-injection",description:"\x3c!--",source:"@site/docs/apisix/plugins/f [...]
\ No newline at end of file
diff --git a/assets/js/6d5713a9.b67fe0ea.js b/assets/js/6d5713a9.b67fe0ea.js
new file mode 100644
index 0000000..58080fb
--- /dev/null
+++ b/assets/js/6d5713a9.b67fe0ea.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[82],{150:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return i})),t.d(n,"metadata",(function(){return c})),t.d(n,"toc",(function(){return o})),t.d(n,"default",(function(){return p}));var a=t(3),l=t(8),r=(t(0),t(265)),i={title:"fault-injection"},c={unversionedId:"plugins/fault-injection",id:"plugins/fault-injection",isDocsHomePage:!1,title:"fault-injection",description:"\x3c!--",source:"@site/docs/apisix/plugins/f [...]
\ No newline at end of file
diff --git a/assets/js/6e5db0c1.5d87de1a.js b/assets/js/6e5db0c1.5d87de1a.js
new file mode 100644
index 0000000..4bbb122
--- /dev/null
+++ b/assets/js/6e5db0c1.5d87de1a.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[83],{151:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),i=(n(0),n(265)),l={title:"wolf-rbac"},c={unversionedId:"plugins/wolf-rbac",id:"plugins/wolf-rbac",isDocsHomePage:!1,title:"wolf-rbac",description:"\x3c!--",source:"@site/docs/apisix/plugins/wolf-rbac.md",slug:"/plug [...]
\ No newline at end of file
diff --git a/assets/js/6e5db0c1.cb3dd894.js b/assets/js/6e5db0c1.cb3dd894.js
deleted file mode 100644
index acf9200..0000000
--- a/assets/js/6e5db0c1.cb3dd894.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[80],{148:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(7),i=(n(0),n(255)),l={title:"wolf-rbac"},c={unversionedId:"plugins/wolf-rbac",id:"plugins/wolf-rbac",isDocsHomePage:!1,title:"wolf-rbac",description:"\x3c!--",source:"@site/docs/apisix/plugins/wolf-rbac.md",slug:"/plug [...]
\ No newline at end of file
diff --git a/assets/js/6f365930.0e080615.js b/assets/js/6f365930.0e080615.js
deleted file mode 100644
index ca6707b..0000000
--- a/assets/js/6f365930.0e080615.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[81],{149:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(255)),s={title:"Install Ingress APISIX on K3S and Rancher RKE"},o={unversionedId:"deployments/k3s-rke",id:"deployments/k3s-rke",isDocsHomePage:!1,title:"Install Ingress APISIX on K3S and Rancher RKE",descr [...]
\ No newline at end of file
diff --git a/assets/js/6f365930.625d9841.js b/assets/js/6f365930.625d9841.js
new file mode 100644
index 0000000..29358b6
--- /dev/null
+++ b/assets/js/6f365930.625d9841.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[84],{152:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(265)),s={title:"Install Ingress APISIX on K3S and Rancher RKE"},o={unversionedId:"deployments/k3s-rke",id:"deployments/k3s-rke",isDocsHomePage:!1,title:"Install Ingress APISIX on K3S and Rancher RKE",descr [...]
\ No newline at end of file
diff --git a/assets/js/70fb06d4.22ad3b35.js b/assets/js/70fb06d4.22ad3b35.js
deleted file mode 100644
index c42febc..0000000
--- a/assets/js/70fb06d4.22ad3b35.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[82],{150:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return b})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),l=(n(0),n(255)),b={title:"error-log-logger"},i={unversionedId:"plugins/error-log-logger",id:"plugins/error-log-logger",isDocsHomePage:!1,title:"error-log-logger",description:"\x3c!--",source:"@site/docs/apisix/plugi [...]
\ No newline at end of file
diff --git a/assets/js/70fb06d4.f474c9ce.js b/assets/js/70fb06d4.f474c9ce.js
new file mode 100644
index 0000000..72ad5a4
--- /dev/null
+++ b/assets/js/70fb06d4.f474c9ce.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[85],{153:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return b})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),l=(n(0),n(265)),b={title:"error-log-logger"},i={unversionedId:"plugins/error-log-logger",id:"plugins/error-log-logger",isDocsHomePage:!1,title:"error-log-logger",description:"\x3c!--",source:"@site/docs/apisix/plugi [...]
\ No newline at end of file
diff --git a/assets/js/7193710f.13d808bb.js b/assets/js/7193710f.13d808bb.js
deleted file mode 100644
index f9a700f..0000000
--- a/assets/js/7193710f.13d808bb.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[83],{151:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return b})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(255)),l={title:"redirect"},c={unversionedId:"plugins/redirect",id:"plugins/redirect",isDocsHomePage:!1,title:"redirect",description:"\x3c!--",source:"@site/docs/apisix/plugins/redirect.md",slug:"/plugins/r [...]
\ No newline at end of file
diff --git a/assets/js/7193710f.f6edc4cc.js b/assets/js/7193710f.f6edc4cc.js
new file mode 100644
index 0000000..d593483
--- /dev/null
+++ b/assets/js/7193710f.f6edc4cc.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[86],{154:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return b})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(265)),l={title:"redirect"},c={unversionedId:"plugins/redirect",id:"plugins/redirect",isDocsHomePage:!1,title:"redirect",description:"\x3c!--",source:"@site/docs/apisix/plugins/redirect.md",slug:"/plugins/r [...]
\ No newline at end of file
diff --git a/assets/js/71950930.60c64aff.js b/assets/js/71950930.60c64aff.js
deleted file mode 100644
index 7920182..0000000
--- a/assets/js/71950930.60c64aff.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[84],{152:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return c})),t.d(n,"metadata",(function(){return o})),t.d(n,"toc",(function(){return s})),t.d(n,"default",(function(){return l}));var a=t(3),r=t(7),i=(t(0),t(255)),c={title:"Running APISIX in AWS with AWS CDK"},o={unversionedId:"aws",id:"aws",isDocsHomePage:!1,title:"Running APISIX in AWS with AWS CDK",description:"\x3c!--",source:"@site/docs/apisix/aws.md",slu [...]
\ No newline at end of file
diff --git a/assets/js/71950930.ba56a627.js b/assets/js/71950930.ba56a627.js
new file mode 100644
index 0000000..8d7c1b5
--- /dev/null
+++ b/assets/js/71950930.ba56a627.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[87],{155:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return c})),t.d(n,"metadata",(function(){return o})),t.d(n,"toc",(function(){return s})),t.d(n,"default",(function(){return l}));var a=t(3),r=t(8),i=(t(0),t(265)),c={title:"Running APISIX in AWS with AWS CDK"},o={unversionedId:"aws",id:"aws",isDocsHomePage:!1,title:"Running APISIX in AWS with AWS CDK",description:"\x3c!--",source:"@site/docs/apisix/aws.md",slu [...]
\ No newline at end of file
diff --git a/assets/js/72cd189b.a03c3c1f.js b/assets/js/72cd189b.a03c3c1f.js
deleted file mode 100644
index d3e7b79..0000000
--- a/assets/js/72cd189b.a03c3c1f.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[85],{153:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return p})),r.d(t,"default",(function(){return l}));var n=r(3),a=r(7),o=(r(0),r(255)),c={title:"Release Apache APISIX 2.5"},i={permalink:"/events/2021/04/05/release-apache-apisix-2.5",source:"@site/events/2021-04-05-release-apache-apisix-2.5.md",description:"Change",date:"2021-04-05T0 [...]
\ No newline at end of file
diff --git a/assets/js/72cd189b.c4bf619a.js b/assets/js/72cd189b.c4bf619a.js
new file mode 100644
index 0000000..e7aeb41
--- /dev/null
+++ b/assets/js/72cd189b.c4bf619a.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[88],{156:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return p})),r.d(t,"default",(function(){return l}));var n=r(3),a=r(8),o=(r(0),r(265)),c={title:"Release Apache APISIX 2.5"},i={permalink:"/events/2021/04/05/release-apache-apisix-2.5",source:"@site/events/2021-04-05-release-apache-apisix-2.5.md",description:"Change",date:"2021-04-05T0 [...]
\ No newline at end of file
diff --git a/assets/js/72ff46d3.184255bc.js b/assets/js/72ff46d3.184255bc.js
deleted file mode 100644
index bca7c15..0000000
--- a/assets/js/72ff46d3.184255bc.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[86],{154:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return a})),t.d(r,"metadata",(function(){return c})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return p}));var n=t(3),o=t(7),i=(t(0),t(255)),a={title:"DNS"},c={unversionedId:"discovery/dns",id:"discovery/dns",isDocsHomePage:!1,title:"DNS",description:"\x3c!--",source:"@site/docs/apisix/discovery/dns.md",slug:"/discovery/dns",permalink:"/d [...]
\ No newline at end of file
diff --git a/assets/js/72ff46d3.9219c07a.js b/assets/js/72ff46d3.9219c07a.js
new file mode 100644
index 0000000..69d9895
--- /dev/null
+++ b/assets/js/72ff46d3.9219c07a.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[89],{157:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return a})),t.d(r,"metadata",(function(){return c})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return p}));var n=t(3),o=t(8),i=(t(0),t(265)),a={title:"DNS"},c={unversionedId:"discovery/dns",id:"discovery/dns",isDocsHomePage:!1,title:"DNS",description:"\x3c!--",source:"@site/docs/apisix/discovery/dns.md",slug:"/discovery/dns",permalink:"/d [...]
\ No newline at end of file
diff --git a/assets/js/746acb87.42d304f0.js b/assets/js/746acb87.42d304f0.js
deleted file mode 100644
index ab1412e..0000000
--- a/assets/js/746acb87.42d304f0.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[87],{155:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(7),i=(n(0),n(255)),l={title:"authz-keycloak"},o={unversionedId:"plugins/authz-keycloak",id:"plugins/authz-keycloak",isDocsHomePage:!1,title:"authz-keycloak",description:"\x3c!--",source:"@site/docs/apisix/plugins/authz [...]
\ No newline at end of file
diff --git a/assets/js/746acb87.ff74e5d7.js b/assets/js/746acb87.ff74e5d7.js
new file mode 100644
index 0000000..184314b
--- /dev/null
+++ b/assets/js/746acb87.ff74e5d7.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[90],{158:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),i=(n(0),n(265)),l={title:"authz-keycloak"},o={unversionedId:"plugins/authz-keycloak",id:"plugins/authz-keycloak",isDocsHomePage:!1,title:"authz-keycloak",description:"\x3c!--",source:"@site/docs/apisix/plugins/authz [...]
\ No newline at end of file
diff --git a/assets/js/746d4aad.4675c10d.js b/assets/js/746d4aad.4675c10d.js
new file mode 100644
index 0000000..dc9208c
--- /dev/null
+++ b/assets/js/746d4aad.4675c10d.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[91],{159:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return s}));var r=n(3),a=n(8),i=(n(0),n(265)),l={title:"ip-restriction"},c={unversionedId:"plugins/ip-restriction",id:"plugins/ip-restriction",isDocsHomePage:!1,title:"ip-restriction",description:"\x3c!--",source:"@site/docs/apisix/plugins/ip-re [...]
\ No newline at end of file
diff --git a/assets/js/746d4aad.67b51b99.js b/assets/js/746d4aad.67b51b99.js
deleted file mode 100644
index 08fa8c2..0000000
--- a/assets/js/746d4aad.67b51b99.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[88],{156:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return s}));var r=n(3),a=n(7),i=(n(0),n(255)),l={title:"ip-restriction"},c={unversionedId:"plugins/ip-restriction",id:"plugins/ip-restriction",isDocsHomePage:!1,title:"ip-restriction",description:"\x3c!--",source:"@site/docs/apisix/plugins/ip-re [...]
\ No newline at end of file
diff --git a/assets/js/74848684.cb209533.js b/assets/js/74848684.cb209533.js
new file mode 100644
index 0000000..a34bd6c
--- /dev/null
+++ b/assets/js/74848684.cb209533.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[92],{160:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return i})),t.d(r,"metadata",(function(){return c})),t.d(r,"toc",(function(){return l})),t.d(r,"default",(function(){return s}));var n=t(3),o=t(8),a=(t(0),t(265)),i={title:"Build an image from the source codes"},c={unversionedId:"build",id:"build",isDocsHomePage:!1,title:"Build an image from the source codes",description:"\x3c!--",source:"@site/docs/apisix-doc [...]
\ No newline at end of file
diff --git a/assets/js/749ed826.91e785fe.js b/assets/js/749ed826.91e785fe.js
new file mode 100644
index 0000000..a740057
--- /dev/null
+++ b/assets/js/749ed826.91e785fe.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[93],{161:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return s}));var a=n(3),r=n(8),i=(n(0),n(265)),o={title:"Envoy and Apache APISIX: Another way to implement the Envoy filter",author:"nic-chen",authorURL:"https://github.com/nic-chen",authorImageURL:"https://avatars0.githubusercontent.com/u/330006 [...]
\ No newline at end of file
diff --git a/assets/js/749ed826.a41b9848.js b/assets/js/749ed826.a41b9848.js
deleted file mode 100644
index dd5601c..0000000
--- a/assets/js/749ed826.a41b9848.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[89],{157:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return s}));var a=n(3),r=n(7),i=(n(0),n(255)),o={title:"Envoy and Apache APISIX: Another way to implement the Envoy filter",author:"nic-chen",authorURL:"https://github.com/nic-chen",authorImageURL:"https://avatars0.githubusercontent.com/u/330006 [...]
\ No newline at end of file
diff --git a/assets/js/7af3052c.74223a27.js b/assets/js/7af3052c.74223a27.js
deleted file mode 100644
index 1e0b57f..0000000
--- a/assets/js/7af3052c.74223a27.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[90],{158:function(e,a,t){"use strict";t.r(a),t.d(a,"frontMatter",(function(){return s})),t.d(a,"metadata",(function(){return o})),t.d(a,"toc",(function(){return l})),t.d(a,"default",(function(){return p}));var n=t(3),i=t(7),r=(t(0),t(255)),s={id:"release-guide",title:"Release Guide"},o={unversionedId:"release-guide",id:"release-guide",isDocsHomePage:!1,title:"Release Guide",description:"Release Flow",source:"@site/docs/general/release- [...]
\ No newline at end of file
diff --git a/assets/js/7af3052c.745ca141.js b/assets/js/7af3052c.745ca141.js
new file mode 100644
index 0000000..ea5a54f
--- /dev/null
+++ b/assets/js/7af3052c.745ca141.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[94],{162:function(e,a,t){"use strict";t.r(a),t.d(a,"frontMatter",(function(){return s})),t.d(a,"metadata",(function(){return o})),t.d(a,"toc",(function(){return l})),t.d(a,"default",(function(){return p}));var n=t(3),i=t(8),r=(t(0),t(265)),s={id:"release-guide",title:"Release Guide"},o={unversionedId:"release-guide",id:"release-guide",isDocsHomePage:!1,title:"Release Guide",description:"Release Flow",source:"@site/docs/general/release- [...]
\ No newline at end of file
diff --git a/assets/js/7e37206e.b77e1efe.js b/assets/js/7e37206e.b77e1efe.js
new file mode 100644
index 0000000..0ae6538
--- /dev/null
+++ b/assets/js/7e37206e.b77e1efe.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[95],{163:function(e,t,a){"use strict";a.r(t);var n=a(0),r=a.n(n),i=a(274),l=a(269),c=a(290),o=i.a.h1.withConfig({displayName:"help__PageTitle",componentId:"sc-1evwiii-0"})(["margin-top:2rem;font-size:3rem;font-weight:800;"]),s=i.a.div.withConfig({displayName:"help__PageSubtitle",componentId:"sc-1evwiii-1"})(["margin-bottom:3rem;"]),m=i.a.div.withConfig({displayName:"help__Page",componentId:"sc-1evwiii-2"})(["max-width:var(--ifm-contain [...]
\ No newline at end of file
diff --git a/assets/js/7e37206e.e132109d.js b/assets/js/7e37206e.e132109d.js
deleted file mode 100644
index a4937c8..0000000
--- a/assets/js/7e37206e.e132109d.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[91],{159:function(e,t,a){"use strict";a.r(t);var n=a(0),r=a.n(n),i=a(264),l=a(259),c=a(280),o=i.a.h1.withConfig({displayName:"help__PageTitle",componentId:"sc-1evwiii-0"})(["margin-top:2rem;font-size:3rem;font-weight:800;"]),s=i.a.div.withConfig({displayName:"help__PageSubtitle",componentId:"sc-1evwiii-1"})(["margin-bottom:3rem;"]),m=i.a.div.withConfig({displayName:"help__Page",componentId:"sc-1evwiii-2"})(["max-width:var(--ifm-contain [...]
\ No newline at end of file
diff --git a/assets/js/81f18807.4584c8ca.js b/assets/js/81f18807.4584c8ca.js
new file mode 100644
index 0000000..2bfab04
--- /dev/null
+++ b/assets/js/81f18807.4584c8ca.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[96],{164:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return s}));var a=n(3),r=n(8),o=(n(0),n(265)),i={title:"Deploy with Docker"},c={unversionedId:"deploy-with-docker",id:"deploy-with-docker",isDocsHomePage:!1,title:"Deploy with Docker",description:"\x3c!--",source:"@site/docs/apisix-dashboard/dep [...]
\ No newline at end of file
diff --git a/assets/js/81f18807.8e898f3b.js b/assets/js/81f18807.8e898f3b.js
deleted file mode 100644
index b2413f9..0000000
--- a/assets/js/81f18807.8e898f3b.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[92],{160:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return s}));var a=n(3),r=n(7),o=(n(0),n(255)),i={title:"Deploy with Docker"},c={unversionedId:"deploy-with-docker",id:"deploy-with-docker",isDocsHomePage:!1,title:"Deploy with Docker",description:"\x3c!--",source:"@site/docs/apisix-dashboard/dep [...]
\ No newline at end of file
diff --git a/assets/js/83cf9161.66989c88.js b/assets/js/83cf9161.66989c88.js
deleted file mode 100644
index 4019e2e..0000000
--- a/assets/js/83cf9161.66989c88.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[93],{161:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return p})),r.d(t,"default",(function(){return u}));var n=r(3),a=r(7),o=(r(0),r(255)),c={title:"Release Apache APISIX 2.4"},i={permalink:"/events/2021/03/05/release-apache-apisix-2.4",source:"@site/events/2021-03-05-release-apache-apisix-2.4.md",description:"Change",date:"2021-03-05T0 [...]
\ No newline at end of file
diff --git a/assets/js/83cf9161.b7c0c582.js b/assets/js/83cf9161.b7c0c582.js
new file mode 100644
index 0000000..9ddbcfa
--- /dev/null
+++ b/assets/js/83cf9161.b7c0c582.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[97],{165:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return p})),r.d(t,"default",(function(){return u}));var n=r(3),a=r(8),o=(r(0),r(265)),c={title:"Release Apache APISIX 2.4"},i={permalink:"/events/2021/03/05/release-apache-apisix-2.4",source:"@site/events/2021-03-05-release-apache-apisix-2.4.md",description:"Change",date:"2021-03-05T0 [...]
\ No newline at end of file
diff --git a/assets/js/84a8b022.d40b320a.js b/assets/js/84a8b022.d40b320a.js
new file mode 100644
index 0000000..2153b43
--- /dev/null
+++ b/assets/js/84a8b022.d40b320a.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[98],{166:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return l})),r.d(t,"metadata",(function(){return o})),r.d(t,"toc",(function(){return p})),r.d(t,"default",(function(){return u}));var n=r(3),a=r(8),i=(r(0),r(265)),l={title:"proxy-mirror"},o={unversionedId:"plugins/proxy-mirror",id:"plugins/proxy-mirror",isDocsHomePage:!1,title:"proxy-mirror",description:"\x3c!--",source:"@site/docs/apisix/plugins/proxy-mirror. [...]
\ No newline at end of file
diff --git a/assets/js/84a8b022.f8e7d4c0.js b/assets/js/84a8b022.f8e7d4c0.js
deleted file mode 100644
index 9612658..0000000
--- a/assets/js/84a8b022.f8e7d4c0.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[94],{162:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return l})),r.d(t,"metadata",(function(){return o})),r.d(t,"toc",(function(){return p})),r.d(t,"default",(function(){return u}));var n=r(3),a=r(7),i=(r(0),r(255)),l={title:"proxy-mirror"},o={unversionedId:"plugins/proxy-mirror",id:"plugins/proxy-mirror",isDocsHomePage:!1,title:"proxy-mirror",description:"\x3c!--",source:"@site/docs/apisix/plugins/proxy-mirror. [...]
\ No newline at end of file
diff --git a/assets/js/84d2a1f2.2df2b1dc.js b/assets/js/84d2a1f2.2df2b1dc.js
deleted file mode 100644
index 2356518..0000000
--- a/assets/js/84d2a1f2.2df2b1dc.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[95],{163:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return b}));var r=n(3),a=n(7),o=(n(0),n(255)),i={title:"Development Guide"},c={unversionedId:"develop",id:"develop",isDocsHomePage:!1,title:"Development Guide",description:"\x3c!--",source:"@site/docs/apisix-dashboard/develop.md",slug:"/develop" [...]
\ No newline at end of file
diff --git a/assets/js/84d2a1f2.5c82441b.js b/assets/js/84d2a1f2.5c82441b.js
new file mode 100644
index 0000000..6c2225d
--- /dev/null
+++ b/assets/js/84d2a1f2.5c82441b.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[99],{167:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return b}));var r=n(3),a=n(8),o=(n(0),n(265)),i={title:"Development Guide"},c={unversionedId:"develop",id:"develop",isDocsHomePage:!1,title:"Development Guide",description:"\x3c!--",source:"@site/docs/apisix-dashboard/develop.md",slug:"/develop" [...]
\ No newline at end of file
diff --git a/assets/js/84ebf226.51f0808a.js b/assets/js/84ebf226.51f0808a.js
deleted file mode 100644
index 1081d95..0000000
--- a/assets/js/84ebf226.51f0808a.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[96],{164:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return b})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return u}));var a=n(3),r=n(7),l=(n(0),n(255)),i={title:"udp-logger"},b={unversionedId:"plugins/udp-logger",id:"plugins/udp-logger",isDocsHomePage:!1,title:"udp-logger",description:"\x3c!--",source:"@site/docs/apisix/plugins/udp-logger.md",slug:" [...]
\ No newline at end of file
diff --git a/assets/js/84ebf226.e3667d47.js b/assets/js/84ebf226.e3667d47.js
new file mode 100644
index 0000000..f76c0bb
--- /dev/null
+++ b/assets/js/84ebf226.e3667d47.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[100],{168:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return b})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return u}));var a=n(3),r=n(8),l=(n(0),n(265)),i={title:"udp-logger"},b={unversionedId:"plugins/udp-logger",id:"plugins/udp-logger",isDocsHomePage:!1,title:"udp-logger",description:"\x3c!--",source:"@site/docs/apisix/plugins/udp-logger.md",slug: [...]
\ No newline at end of file
diff --git a/assets/js/859cc09f.b88a2174.js b/assets/js/859cc09f.b88a2174.js
new file mode 100644
index 0000000..ce29286
--- /dev/null
+++ b/assets/js/859cc09f.b88a2174.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[101],{259:function(e,t,r){"use strict";r.r(t);var n=r(0),a=r.n(n),o=r(274),i=r(269),l=r(17),c=r(291);function p(){return(p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function m(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n+ [...]
\ No newline at end of file
diff --git a/assets/js/859cc09f.c4d9e1e7.js b/assets/js/859cc09f.c4d9e1e7.js
deleted file mode 100644
index 3b3ad13..0000000
--- a/assets/js/859cc09f.c4d9e1e7.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[97],{249:function(e,t,r){"use strict";r.r(t);var n=r(0),a=r.n(n),o=r(264),i=r(259),l=r(17),c=r(281);function p(){return(p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function m(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++ [...]
\ No newline at end of file
diff --git a/assets/js/860d73b2.89add526.js b/assets/js/860d73b2.89add526.js
deleted file mode 100644
index a587a18..0000000
--- a/assets/js/860d73b2.89add526.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[98],{165:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return p}));var a=n(3),i=n(7),r=(n(0),n(255)),l={title:"How to build Apache APISIX"},o={unversionedId:"how-to-build",id:"how-to-build",isDocsHomePage:!1,title:"How to build Apache APISIX",description:"\x3c!--",source:"@site/docs/apisix/how-to-bu [...]
\ No newline at end of file
diff --git a/assets/js/860d73b2.d3bde19b.js b/assets/js/860d73b2.d3bde19b.js
new file mode 100644
index 0000000..74f2a05
--- /dev/null
+++ b/assets/js/860d73b2.d3bde19b.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[102],{169:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return p}));var a=n(3),i=n(8),r=(n(0),n(265)),l={title:"How to build Apache APISIX"},o={unversionedId:"how-to-build",id:"how-to-build",isDocsHomePage:!1,title:"How to build Apache APISIX",description:"\x3c!--",source:"@site/docs/apisix/how-to-b [...]
\ No newline at end of file
diff --git a/assets/js/89d0b30c.1c529742.js b/assets/js/89d0b30c.1c529742.js
new file mode 100644
index 0000000..bf7293d
--- /dev/null
+++ b/assets/js/89d0b30c.1c529742.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[103],{170:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(265)),o={title:"Route"},c={unversionedId:"architecture-design/route",id:"architecture-design/route",isDocsHomePage:!1,title:"Route",description:"\x3c!--",source:"@site/docs/apisix/architecture-design/rout [...]
\ No newline at end of file
diff --git a/assets/js/89d0b30c.252cf278.js b/assets/js/89d0b30c.252cf278.js
deleted file mode 100644
index f0ed645..0000000
--- a/assets/js/89d0b30c.252cf278.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[99],{166:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(255)),o={title:"Route"},c={unversionedId:"architecture-design/route",id:"architecture-design/route",isDocsHomePage:!1,title:"Route",description:"\x3c!--",source:"@site/docs/apisix/architecture-design/route [...]
\ No newline at end of file
diff --git a/assets/js/8b956bd2.07835c11.js b/assets/js/8b956bd2.07835c11.js
deleted file mode 100644
index 9f3e4b3..0000000
--- a/assets/js/8b956bd2.07835c11.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[100],{167:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return o})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return l})),r.d(t,"default",(function(){return b}));var n=r(3),i=r(7),a=(r(0),r(255)),o={title:"Router"},c={unversionedId:"architecture-design/router",id:"architecture-design/router",isDocsHomePage:!1,title:"Router",description:"\x3c!--",source:"@site/docs/apisix/architecture-design/ [...]
\ No newline at end of file
diff --git a/assets/js/8b956bd2.2f5d566d.js b/assets/js/8b956bd2.2f5d566d.js
new file mode 100644
index 0000000..d8dde35
--- /dev/null
+++ b/assets/js/8b956bd2.2f5d566d.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[104],{171:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return o})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return l})),r.d(t,"default",(function(){return b}));var n=r(3),i=r(8),a=(r(0),r(265)),o={title:"Router"},c={unversionedId:"architecture-design/router",id:"architecture-design/router",isDocsHomePage:!1,title:"Router",description:"\x3c!--",source:"@site/docs/apisix/architecture-design/ [...]
\ No newline at end of file
diff --git a/assets/js/8cdcb209.0c019d63.js b/assets/js/8cdcb209.0c019d63.js
deleted file mode 100644
index 52bdae4..0000000
--- a/assets/js/8cdcb209.0c019d63.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[101],{168:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return c})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return p}));var a=n(3),i=n(7),r=(n(0),n(255)),c={title:"Health Check"},l={unversionedId:"health-check",id:"health-check",isDocsHomePage:!1,title:"Health Check",description:"\x3c!--",source:"@site/docs/apisix/health-check.md",slug:"/health-check [...]
\ No newline at end of file
diff --git a/assets/js/8cdcb209.ca2b5d23.js b/assets/js/8cdcb209.ca2b5d23.js
new file mode 100644
index 0000000..5bb76f8
--- /dev/null
+++ b/assets/js/8cdcb209.ca2b5d23.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[105],{172:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return c})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return p}));var a=n(3),i=n(8),r=(n(0),n(265)),c={title:"Health Check"},l={unversionedId:"health-check",id:"health-check",isDocsHomePage:!1,title:"Health Check",description:"\x3c!--",source:"@site/docs/apisix/health-check.md",slug:"/health-check [...]
\ No newline at end of file
diff --git a/assets/js/8e27d69a.03e1ea99.js b/assets/js/8e27d69a.03e1ea99.js
deleted file mode 100644
index ac1bdb3..0000000
--- a/assets/js/8e27d69a.03e1ea99.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[102],{169:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return a})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return p}));var r=n(3),i=n(7),o=(n(0),n(255)),a={title:"Developing for Apache APISIX Ingress Controller"},l={unversionedId:"development",id:"development",isDocsHomePage:!1,title:"Developing for Apache APISIX Ingress Controller",description:"\x3 [...]
\ No newline at end of file
diff --git a/assets/js/8e27d69a.c6ae961e.js b/assets/js/8e27d69a.c6ae961e.js
new file mode 100644
index 0000000..709de87
--- /dev/null
+++ b/assets/js/8e27d69a.c6ae961e.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[106],{173:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return a})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return p}));var r=n(3),i=n(8),o=(n(0),n(265)),a={title:"Developing for Apache APISIX Ingress Controller"},l={unversionedId:"development",id:"development",isDocsHomePage:!1,title:"Developing for Apache APISIX Ingress Controller",description:"\x3 [...]
\ No newline at end of file
diff --git a/assets/js/8e784bf3.4a4e7e67.js b/assets/js/8e784bf3.4a4e7e67.js
deleted file mode 100644
index 6a2ed96..0000000
--- a/assets/js/8e784bf3.4a4e7e67.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[103],{170:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return b}));var o=n(3),r=n(7),a=(n(0),n(255)),i={id:"committer-guide",title:"Committer Guide"},c={unversionedId:"committer-guide",id:"committer-guide",isDocsHomePage:!1,title:"Committer Guide",description:"What can I contribute?",source:"@site/ [...]
\ No newline at end of file
diff --git a/assets/js/8e784bf3.56c3e6ad.js b/assets/js/8e784bf3.56c3e6ad.js
new file mode 100644
index 0000000..ceb5b7c
--- /dev/null
+++ b/assets/js/8e784bf3.56c3e6ad.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[107],{174:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return b}));var o=n(3),r=n(8),a=(n(0),n(265)),i={id:"committer-guide",title:"Committer Guide"},c={unversionedId:"committer-guide",id:"committer-guide",isDocsHomePage:!1,title:"Committer Guide",description:"What can I contribute?",source:"@site/ [...]
\ No newline at end of file
diff --git a/assets/js/91ce05ef.077b5d37.js b/assets/js/91ce05ef.077b5d37.js
new file mode 100644
index 0000000..ca44753
--- /dev/null
+++ b/assets/js/91ce05ef.077b5d37.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[108],{175:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return u}));var a=n(3),r=n(8),i=(n(0),n(265)),l={title:"Debug Mode"},o={unversionedId:"architecture-design/debug-mode",id:"architecture-design/debug-mode",isDocsHomePage:!1,title:"Debug Mode",description:"\x3c!--",source:"@site/docs/apisix/arch [...]
\ No newline at end of file
diff --git a/assets/js/91ce05ef.76fa49c1.js b/assets/js/91ce05ef.76fa49c1.js
deleted file mode 100644
index e6101a9..0000000
--- a/assets/js/91ce05ef.76fa49c1.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[104],{171:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return u}));var a=n(3),r=n(7),i=(n(0),n(255)),l={title:"Debug Mode"},o={unversionedId:"architecture-design/debug-mode",id:"architecture-design/debug-mode",isDocsHomePage:!1,title:"Debug Mode",description:"\x3c!--",source:"@site/docs/apisix/arch [...]
\ No newline at end of file
diff --git a/assets/js/92b07c7e.29dc6594.js b/assets/js/92b07c7e.29dc6594.js
deleted file mode 100644
index 1d84306..0000000
--- a/assets/js/92b07c7e.29dc6594.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[105],{172:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return u}));var r=n(3),i=n(7),a=(n(0),n(255)),o={title:"APISIX"},c={unversionedId:"architecture-design/apisix",id:"architecture-design/apisix",isDocsHomePage:!1,title:"APISIX",description:"\x3c!--",source:"@site/docs/apisix/architecture-design/ [...]
\ No newline at end of file
diff --git a/assets/js/92b07c7e.af459b5b.js b/assets/js/92b07c7e.af459b5b.js
new file mode 100644
index 0000000..9098f74
--- /dev/null
+++ b/assets/js/92b07c7e.af459b5b.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[109],{176:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return u}));var r=n(3),i=n(8),a=(n(0),n(265)),o={title:"APISIX"},c={unversionedId:"architecture-design/apisix",id:"architecture-design/apisix",isDocsHomePage:!1,title:"APISIX",description:"\x3c!--",source:"@site/docs/apisix/architecture-design/ [...]
\ No newline at end of file
diff --git a/assets/js/92dfebd0.4895176e.js b/assets/js/92dfebd0.4895176e.js
new file mode 100644
index 0000000..a2a3835
--- /dev/null
+++ b/assets/js/92dfebd0.4895176e.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[110],{177:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return r})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return o}));var a=n(3),l=n(8),i=(n(0),n(265)),r={title:"Apache APISIX Helm Chart"},c={unversionedId:"apisix",id:"apisix",isDocsHomePage:!1,title:"Apache APISIX Helm Chart",description:"\x3c!--",source:"@site/docs/apisix-helm-chart/apisix.md",sl [...]
\ No newline at end of file
diff --git a/assets/js/93013804.a93a3488.js b/assets/js/93013804.a93a3488.js
deleted file mode 100644
index 28d9369..0000000
--- a/assets/js/93013804.a93a3488.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[106],{173:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),i=n(7),a=(n(0),n(255)),s={title:"Install Ingress APISIX on Minikube"},o={unversionedId:"deployments/minikube",id:"deployments/minikube",isDocsHomePage:!1,title:"Install Ingress APISIX on Minikube",description:"\x3c!--",so [...]
\ No newline at end of file
diff --git a/assets/js/93013804.b30eac3f.js b/assets/js/93013804.b30eac3f.js
new file mode 100644
index 0000000..9eea3cc
--- /dev/null
+++ b/assets/js/93013804.b30eac3f.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[111],{178:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),i=n(8),a=(n(0),n(265)),s={title:"Install Ingress APISIX on Minikube"},o={unversionedId:"deployments/minikube",id:"deployments/minikube",isDocsHomePage:!1,title:"Install Ingress APISIX on Minikube",description:"\x3c!--",so [...]
\ No newline at end of file
diff --git a/assets/js/935f2afb.020ee085.js b/assets/js/935f2afb.020ee085.js
deleted file mode 100644
index dcdf8b1..0000000
--- a/assets/js/935f2afb.020ee085.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[107],{174:function(e){e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"collapsed":true,"type":"category","label":"General","items":[{"type":"link","label":"Security","href":"/docs/general/security"},{"type":"link","label":"Subscribe Guide","href":"/docs/general/subscribe-guide"},{"type":"link","label":"Contributor Guide","href":"/docs/general/contributor-guide"},{"ty [...]
\ No newline at end of file
diff --git a/assets/js/935f2afb.9a1bbfee.js b/assets/js/935f2afb.9a1bbfee.js
new file mode 100644
index 0000000..ceb4572
--- /dev/null
+++ b/assets/js/935f2afb.9a1bbfee.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[112],{179:function(e){e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"collapsed":true,"type":"category","label":"General","items":[{"type":"link","label":"Security","href":"/docs/general/security"},{"type":"link","label":"Subscribe Guide","href":"/docs/general/subscribe-guide"},{"type":"link","label":"Contributor Guide","href":"/docs/general/contributor-guide"},{"ty [...]
\ No newline at end of file
diff --git a/assets/js/95244615.6d74d7af.js b/assets/js/95244615.6d74d7af.js
new file mode 100644
index 0000000..3c27226
--- /dev/null
+++ b/assets/js/95244615.6d74d7af.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[113],{180:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return c}));var a=n(3),i=n(8),r=(n(0),n(265)),s={title:"Import OpenAPI Guide"},o={unversionedId:"IMPORT_OPENAPI_USER_GUIDE",id:"IMPORT_OPENAPI_USER_GUIDE",isDocsHomePage:!1,title:"Import OpenAPI Guide",description:"\x3c!--",source:"@site/docs/a [...]
\ No newline at end of file
diff --git a/assets/js/95244615.aa8e85ff.js b/assets/js/95244615.aa8e85ff.js
deleted file mode 100644
index 3e37714..0000000
--- a/assets/js/95244615.aa8e85ff.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[108],{175:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return c}));var a=n(3),i=n(7),r=(n(0),n(255)),s={title:"Import OpenAPI Guide"},o={unversionedId:"IMPORT_OPENAPI_USER_GUIDE",id:"IMPORT_OPENAPI_USER_GUIDE",isDocsHomePage:!1,title:"Import OpenAPI Guide",description:"\x3c!--",source:"@site/docs/a [...]
\ No newline at end of file
diff --git a/assets/js/95e0e949.bca7d023.js b/assets/js/95e0e949.bca7d023.js
deleted file mode 100644
index 72386db..0000000
--- a/assets/js/95e0e949.bca7d023.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[109],{176:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return i})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return p}));var n=r(3),a=r(7),o=(r(0),r(255)),i={title:"Release Apache APISIX Ingress Controller 0.4.0"},c={permalink:"/events/2021/03/12/release-apache-apisix-ingress-controller-0.4.0",source:"@site/events/2021-03-12-release-apache-apisix-ingr [...]
\ No newline at end of file
diff --git a/assets/js/95e0e949.dab407d0.js b/assets/js/95e0e949.dab407d0.js
new file mode 100644
index 0000000..cda76a5
--- /dev/null
+++ b/assets/js/95e0e949.dab407d0.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[114],{181:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return i})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return p}));var n=r(3),a=r(8),o=(r(0),r(265)),i={title:"Release Apache APISIX Ingress Controller 0.4.0"},c={permalink:"/events/2021/03/12/release-apache-apisix-ingress-controller-0.4.0",source:"@site/events/2021-03-12-release-apache-apisix-ingr [...]
\ No newline at end of file
diff --git a/assets/js/96ff6680.164b92b6.js b/assets/js/96ff6680.164b92b6.js
new file mode 100644
index 0000000..ae0177f
--- /dev/null
+++ b/assets/js/96ff6680.164b92b6.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[115],{182:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return c})),a.d(t,"metadata",(function(){return p})),a.d(t,"toc",(function(){return i})),a.d(t,"default",(function(){return s}));var r=a(3),n=a(8),o=(a(0),a(265)),c={title:"Install Apache APISIX from Helm Charts",author:"Chao Zhang",authorURL:"https://github.com/tokers",authorImageURL:"https://avatars.githubusercontent.com/u/10428333?s=400&u=f48ef50c5621a1616 [...]
\ No newline at end of file
diff --git a/assets/js/96ff6680.22acbec5.js b/assets/js/96ff6680.22acbec5.js
deleted file mode 100644
index a7d711d..0000000
--- a/assets/js/96ff6680.22acbec5.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[110],{177:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return c})),a.d(t,"metadata",(function(){return p})),a.d(t,"toc",(function(){return i})),a.d(t,"default",(function(){return s}));var r=a(3),n=a(7),o=(a(0),a(255)),c={title:"Install Apache APISIX from Helm Charts",author:"Chao Zhang",authorURL:"https://github.com/tokers",authorImageURL:"https://avatars.githubusercontent.com/u/10428333?s=400&u=f48ef50c5621a1616 [...]
\ No newline at end of file
diff --git a/assets/js/98c69322.5c3a5acb.js b/assets/js/98c69322.5c3a5acb.js
deleted file mode 100644
index edb9f99..0000000
--- a/assets/js/98c69322.5c3a5acb.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[111],{269:function(e,t,r){"use strict";var n=r(0);function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t [...]
\ No newline at end of file
diff --git a/assets/js/98c69322.99cb2e16.js b/assets/js/98c69322.99cb2e16.js
new file mode 100644
index 0000000..5f44702
--- /dev/null
+++ b/assets/js/98c69322.99cb2e16.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[116],{279:function(e,t,r){"use strict";var n=r(0);function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t [...]
\ No newline at end of file
diff --git a/assets/js/9969a994.7b060153.js b/assets/js/9969a994.7b060153.js
deleted file mode 100644
index 29e60f8..0000000
--- a/assets/js/9969a994.7b060153.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[112],{178:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return o})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return l}));var n=r(3),i=r(7),a=(r(0),r(255)),c={title:"Proxy the httpbin service"},o={unversionedId:"practices/proxy-the-httpbin-service",id:"practices/proxy-the-httpbin-service",isDocsHomePage:!1,title:"Proxy the httpbin service",description: [...]
\ No newline at end of file
diff --git a/assets/js/9969a994.9b4516c8.js b/assets/js/9969a994.9b4516c8.js
new file mode 100644
index 0000000..9d58b2c
--- /dev/null
+++ b/assets/js/9969a994.9b4516c8.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[117],{183:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return o})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return l}));var n=r(3),i=r(8),a=(r(0),r(265)),c={title:"Proxy the httpbin service"},o={unversionedId:"practices/proxy-the-httpbin-service",id:"practices/proxy-the-httpbin-service",isDocsHomePage:!1,title:"Proxy the httpbin service",description: [...]
\ No newline at end of file
diff --git a/assets/js/9c26c05d.c5b3934d.js b/assets/js/9c26c05d.c5b3934d.js
new file mode 100644
index 0000000..ed9195b
--- /dev/null
+++ b/assets/js/9c26c05d.c5b3934d.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[118],{184:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return s})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return l}));var r=n(3),o=n(8),a=(n(0),n(265)),i={title:"Contributing to apisix-ingress-controller"},s={unversionedId:"contribute",id:"contribute",isDocsHomePage:!1,title:"Contributing to apisix-ingress-controller",description:"\x3c!--",source:" [...]
\ No newline at end of file
diff --git a/assets/js/9c26c05d.cf890f5b.js b/assets/js/9c26c05d.cf890f5b.js
deleted file mode 100644
index 35e1845..0000000
--- a/assets/js/9c26c05d.cf890f5b.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[113],{179:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return s})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return l}));var r=n(3),o=n(7),a=(n(0),n(255)),i={title:"Contributing to apisix-ingress-controller"},s={unversionedId:"contribute",id:"contribute",isDocsHomePage:!1,title:"Contributing to apisix-ingress-controller",description:"\x3c!--",source:" [...]
\ No newline at end of file
diff --git a/assets/js/9d971112.15b32393.js b/assets/js/9d971112.15b32393.js
new file mode 100644
index 0000000..e6d1758
--- /dev/null
+++ b/assets/js/9d971112.15b32393.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[119],{185:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return o})),a.d(t,"metadata",(function(){return b})),a.d(t,"toc",(function(){return s})),a.d(t,"default",(function(){return u}));var r=a(3),n=a(8),c=(a(0),a(265)),o={title:"User Guide"},b={unversionedId:"USER_GUIDE",id:"USER_GUIDE",isDocsHomePage:!1,title:"User Guide",description:"\x3c!--",source:"@site/docs/apisix-dashboard/USER_GUIDE.md",slug:"/USER_GUIDE", [...]
\ No newline at end of file
diff --git a/assets/js/9d971112.fa647595.js b/assets/js/9d971112.fa647595.js
deleted file mode 100644
index 5ee8d04..0000000
--- a/assets/js/9d971112.fa647595.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[114],{180:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return o})),a.d(t,"metadata",(function(){return b})),a.d(t,"toc",(function(){return s})),a.d(t,"default",(function(){return u}));var r=a(3),n=a(7),c=(a(0),a(255)),o={title:"User Guide"},b={unversionedId:"USER_GUIDE",id:"USER_GUIDE",isDocsHomePage:!1,title:"User Guide",description:"\x3c!--",source:"@site/docs/apisix-dashboard/USER_GUIDE.md",slug:"/USER_GUIDE", [...]
\ No newline at end of file
diff --git a/assets/js/9da58367.d1b175fa.js b/assets/js/9da58367.d1b175fa.js
new file mode 100644
index 0000000..02e238d
--- /dev/null
+++ b/assets/js/9da58367.d1b175fa.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[120],{186:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return o})),t.d(n,"metadata",(function(){return s})),t.d(n,"toc",(function(){return c})),t.d(n,"default",(function(){return l}));var a=t(3),r=t(8),i=(t(0),t(265)),o={title:"ApisixRoute"},s={unversionedId:"concepts/apisix_route",id:"concepts/apisix_route",isDocsHomePage:!1,title:"ApisixRoute",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/c [...]
\ No newline at end of file
diff --git a/assets/js/9da58367.f98b0f54.js b/assets/js/9da58367.f98b0f54.js
deleted file mode 100644
index 12b58ae..0000000
--- a/assets/js/9da58367.f98b0f54.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[115],{181:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return o})),t.d(n,"metadata",(function(){return s})),t.d(n,"toc",(function(){return c})),t.d(n,"default",(function(){return l}));var a=t(3),r=t(7),i=(t(0),t(255)),o={title:"ApisixRoute"},s={unversionedId:"concepts/apisix_route",id:"concepts/apisix_route",isDocsHomePage:!1,title:"ApisixRoute",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/c [...]
\ No newline at end of file
diff --git a/assets/js/9dc47d34.3ac3fd3e.js b/assets/js/9dc47d34.3ac3fd3e.js
new file mode 100644
index 0000000..4405ec5
--- /dev/null
+++ b/assets/js/9dc47d34.3ac3fd3e.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[121],{187:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return a})),r.d(t,"metadata",(function(){return s})),r.d(t,"toc",(function(){return l})),r.d(t,"default",(function(){return p}));var n=r(3),i=r(8),o=(r(0),r(265)),a={title:"FAQ"},s={unversionedId:"FAQ",id:"FAQ",isDocsHomePage:!1,title:"FAQ",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/FAQ.md",slug:"/FAQ",permalink:"/docs/ingress-controll [...]
\ No newline at end of file
diff --git a/assets/js/9dc47d34.749d4cd8.js b/assets/js/9dc47d34.749d4cd8.js
deleted file mode 100644
index e6de5f6..0000000
--- a/assets/js/9dc47d34.749d4cd8.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[116],{182:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return a})),r.d(t,"metadata",(function(){return s})),r.d(t,"toc",(function(){return l})),r.d(t,"default",(function(){return p}));var n=r(3),i=r(7),o=(r(0),r(255)),a={title:"FAQ"},s={unversionedId:"FAQ",id:"FAQ",isDocsHomePage:!1,title:"FAQ",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/FAQ.md",slug:"/FAQ",permalink:"/docs/ingress-controll [...]
\ No newline at end of file
diff --git a/assets/js/a06dfdd3.0dae3263.js b/assets/js/a06dfdd3.0dae3263.js
new file mode 100644
index 0000000..8a763f5
--- /dev/null
+++ b/assets/js/a06dfdd3.0dae3263.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[122],{188:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return p})),r.d(t,"default",(function(){return l}));var n=r(3),o=r(8),a=(r(0),r(265)),c={title:"Get Front-End Test Coverage with Cypress",author:"Yi Sun",authorURL:"https://github.com/LiteSun",authorImageURL:"https://avatars.githubusercontent.com/u/31329157?s=400&u=e81b4bb4db2be162c1 [...]
\ No newline at end of file
diff --git a/assets/js/a06dfdd3.b105299e.js b/assets/js/a06dfdd3.b105299e.js
deleted file mode 100644
index 7fab8ef..0000000
--- a/assets/js/a06dfdd3.b105299e.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[117],{183:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return p})),r.d(t,"default",(function(){return l}));var n=r(3),o=r(7),a=(r(0),r(255)),c={title:"Get Front-End Test Coverage with Cypress",author:"Yi Sun",authorURL:"https://github.com/LiteSun",authorImageURL:"https://avatars.githubusercontent.com/u/31329157?s=400&u=e81b4bb4db2be162c1 [...]
\ No newline at end of file
diff --git a/assets/js/a138bbe3.2b3ef917.js b/assets/js/a138bbe3.2b3ef917.js
deleted file mode 100644
index 672e518..0000000
--- a/assets/js/a138bbe3.2b3ef917.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[118],{184:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(7),s=(n(0),n(255)),i={title:"Install Dependencies"},o={unversionedId:"install-dependencies",id:"install-dependencies",isDocsHomePage:!1,title:"Install Dependencies",description:"\x3c!--",source:"@site/docs/apisix/inst [...]
\ No newline at end of file
diff --git a/assets/js/a138bbe3.60a8d3e4.js b/assets/js/a138bbe3.60a8d3e4.js
new file mode 100644
index 0000000..85f89bb
--- /dev/null
+++ b/assets/js/a138bbe3.60a8d3e4.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[123],{189:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),s=(n(0),n(265)),i={title:"Install Dependencies"},o={unversionedId:"install-dependencies",id:"install-dependencies",isDocsHomePage:!1,title:"Install Dependencies",description:"\x3c!--",source:"@site/docs/apisix/inst [...]
\ No newline at end of file
diff --git a/assets/js/a4a2cefa.67b7bdf7.js b/assets/js/a4a2cefa.67b7bdf7.js
deleted file mode 100644
index 7f92279..0000000
--- a/assets/js/a4a2cefa.67b7bdf7.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[119],{185:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return l})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return c})),r.d(t,"default",(function(){return p}));var a=r(3),n=r(7),b=(r(0),r(255)),l={title:"\u521d\u63a2 Kubernetes Service APIs",author:"Wei Jin",authorURL:"https://github.com/gxthrj",authorImageURL:"https://avatars2.githubusercontent.com/u/4413028?s=400&u=e140a6d2bf19c426da6498 [...]
\ No newline at end of file
diff --git a/assets/js/a4a2cefa.b00136ad.js b/assets/js/a4a2cefa.b00136ad.js
new file mode 100644
index 0000000..eccf2be
--- /dev/null
+++ b/assets/js/a4a2cefa.b00136ad.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[124],{190:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return l})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return c})),r.d(t,"default",(function(){return p}));var a=r(3),n=r(8),b=(r(0),r(265)),l={title:"\u521d\u63a2 Kubernetes Service APIs",author:"Wei Jin",authorURL:"https://github.com/gxthrj",authorImageURL:"https://avatars2.githubusercontent.com/u/4413028?s=400&u=e140a6d2bf19c426da6498 [...]
\ No newline at end of file
diff --git a/assets/js/a650e70d.0a23e2c0.js b/assets/js/a650e70d.0a23e2c0.js
new file mode 100644
index 0000000..b14f702
--- /dev/null
+++ b/assets/js/a650e70d.0a23e2c0.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[125],{191:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return a})),t.d(n,"metadata",(function(){return i})),t.d(n,"toc",(function(){return p})),t.d(n,"default",(function(){return s}));var r=t(3),c=t(8),o=(t(0),t(265)),a={title:"Example"},i={unversionedId:"example",id:"example",isDocsHomePage:!1,title:"Example",description:"\x3c!--",source:"@site/docs/apisix-docker/example.md",slug:"/example",permalink:"/docs/dock [...]
\ No newline at end of file
diff --git a/assets/js/a6641250.0fe42427.js b/assets/js/a6641250.0fe42427.js
deleted file mode 100644
index 999fec8..0000000
--- a/assets/js/a6641250.0fe42427.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[120],{186:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return u})),r.d(t,"default",(function(){return l}));var n=r(3),o=r(7),a=(r(0),r(255)),c={title:"New website for Apache APISIX",author:"juzhiyuan",authorURL:"https://github.com/juzhiyuan",authorImageURL:"https://avatars3.githubusercontent.com/u/2106987?s=460&u=f92e880ce95fe1fee18becd0 [...]
\ No newline at end of file
diff --git a/assets/js/a6641250.64a94a40.js b/assets/js/a6641250.64a94a40.js
new file mode 100644
index 0000000..ddd8c67
--- /dev/null
+++ b/assets/js/a6641250.64a94a40.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[126],{192:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return u})),r.d(t,"default",(function(){return l}));var n=r(3),o=r(8),a=(r(0),r(265)),c={title:"New website for Apache APISIX",author:"juzhiyuan",authorURL:"https://github.com/juzhiyuan",authorImageURL:"https://avatars3.githubusercontent.com/u/2106987?s=460&u=f92e880ce95fe1fee18becd0 [...]
\ No newline at end of file
diff --git a/assets/js/a6aa9e1f.60f16021.js b/assets/js/a6aa9e1f.60f16021.js
deleted file mode 100644
index 943284d..0000000
--- a/assets/js/a6aa9e1f.60f16021.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[121],{252:function(a,e,t){"use strict";t.r(e);var n=t(0),i=t.n(n),l=t(17),r=t(259),c=t(304),m=t(258);var s=function(a){var e=a.metadata,t=e.previousPage,n=e.nextPage;return i.a.createElement("nav",{className:"pagination-nav","aria-label":"Blog list page navigation"},i.a.createElement("div",{className:"pagination-nav__item"},t&&i.a.createElement(m.a,{className:"pagination-nav__link",to:t},i.a.createElement("div",{className:"pagination-n [...]
\ No newline at end of file
diff --git a/assets/js/a6aa9e1f.76f2b1ba.js b/assets/js/a6aa9e1f.76f2b1ba.js
new file mode 100644
index 0000000..68f50c0
--- /dev/null
+++ b/assets/js/a6aa9e1f.76f2b1ba.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[127],{262:function(a,e,t){"use strict";t.r(e);var n=t(0),i=t.n(n),l=t(17),r=t(269),c=t(314),m=t(268);var s=function(a){var e=a.metadata,t=e.previousPage,n=e.nextPage;return i.a.createElement("nav",{className:"pagination-nav","aria-label":"Blog list page navigation"},i.a.createElement("div",{className:"pagination-nav__item"},t&&i.a.createElement(m.a,{className:"pagination-nav__link",to:t},i.a.createElement("div",{className:"pagination-n [...]
\ No newline at end of file
diff --git a/assets/js/ab6cb272.951806d3.js b/assets/js/ab6cb272.951806d3.js
new file mode 100644
index 0000000..0a339de
--- /dev/null
+++ b/assets/js/ab6cb272.951806d3.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[128],{195:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return p})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return o}));var r=n(3),a=n(8),i=(n(0),n(265)),l={title:"Zipkin"},p={unversionedId:"plugins/zipkin",id:"plugins/zipkin",isDocsHomePage:!1,title:"Zipkin",description:"\x3c!--",source:"@site/docs/apisix/plugins/zipkin.md",slug:"/plugins/zipkin",pe [...]
\ No newline at end of file
diff --git a/assets/js/ab6cb272.ed74c0ac.js b/assets/js/ab6cb272.ed74c0ac.js
deleted file mode 100644
index a61da8f..0000000
--- a/assets/js/ab6cb272.ed74c0ac.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[122],{189:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return p})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return o}));var r=n(3),a=n(7),i=(n(0),n(255)),l={title:"Zipkin"},p={unversionedId:"plugins/zipkin",id:"plugins/zipkin",isDocsHomePage:!1,title:"Zipkin",description:"\x3c!--",source:"@site/docs/apisix/plugins/zipkin.md",slug:"/plugins/zipkin",pe [...]
\ No newline at end of file
diff --git a/assets/js/ad461966.317bef85.js b/assets/js/ad461966.317bef85.js
new file mode 100644
index 0000000..24b19c8
--- /dev/null
+++ b/assets/js/ad461966.317bef85.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[129],{196:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return b})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(265)),l={title:"server-info"},o={unversionedId:"plugins/server-info",id:"plugins/server-info",isDocsHomePage:!1,title:"server-info",description:"\x3c!--",source:"@site/docs/apisix/plugins/server-info.md", [...]
\ No newline at end of file
diff --git a/assets/js/ad461966.65634e02.js b/assets/js/ad461966.65634e02.js
deleted file mode 100644
index de223e2..0000000
--- a/assets/js/ad461966.65634e02.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[123],{190:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return b})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(255)),l={title:"server-info"},o={unversionedId:"plugins/server-info",id:"plugins/server-info",isDocsHomePage:!1,title:"server-info",description:"\x3c!--",source:"@site/docs/apisix/plugins/server-info.md", [...]
\ No newline at end of file
diff --git a/assets/js/adbb350b.45ebfb61.js b/assets/js/adbb350b.45ebfb61.js
new file mode 100644
index 0000000..e84a7f9
--- /dev/null
+++ b/assets/js/adbb350b.45ebfb61.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[130],{197:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return o})),r.d(t,"metadata",(function(){return s})),r.d(t,"toc",(function(){return c})),r.d(t,"default",(function(){return b}));var i=r(3),a=r(8),n=(r(0),r(265)),o={id:"contributor-guide",title:"Contributor Guide"},s={unversionedId:"contributor-guide",id:"contributor-guide",isDocsHomePage:!1,title:"Contributor Guide",description:"Please fee free to report bu [...]
\ No newline at end of file
diff --git a/assets/js/adbb350b.9f629678.js b/assets/js/adbb350b.9f629678.js
deleted file mode 100644
index 1c0fabc..0000000
--- a/assets/js/adbb350b.9f629678.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[124],{191:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return o})),r.d(t,"metadata",(function(){return s})),r.d(t,"toc",(function(){return c})),r.d(t,"default",(function(){return b}));var i=r(3),a=r(7),n=(r(0),r(255)),o={id:"contributor-guide",title:"Contributor Guide"},s={unversionedId:"contributor-guide",id:"contributor-guide",isDocsHomePage:!1,title:"Contributor Guide",description:"Please fee free to report bu [...]
\ No newline at end of file
diff --git a/assets/js/af4112e0.5d838873.js b/assets/js/af4112e0.5d838873.js
new file mode 100644
index 0000000..27b7c0b
--- /dev/null
+++ b/assets/js/af4112e0.5d838873.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[131],{198:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return c})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return p}));var n=t(3),o=t(8),a=(t(0),t(265)),c={title:"eureka"},i={unversionedId:"discovery/eureka",id:"discovery/eureka",isDocsHomePage:!1,title:"eureka",description:"\x3c!--",source:"@site/docs/apisix/discovery/eureka.md",slug:"/discovery/eu [...]
\ No newline at end of file
diff --git a/assets/js/af4112e0.7be6a64f.js b/assets/js/af4112e0.7be6a64f.js
deleted file mode 100644
index 11a2c28..0000000
--- a/assets/js/af4112e0.7be6a64f.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[125],{192:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return c})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return p}));var n=t(3),o=t(7),a=(t(0),t(255)),c={title:"eureka"},i={unversionedId:"discovery/eureka",id:"discovery/eureka",isDocsHomePage:!1,title:"eureka",description:"\x3c!--",source:"@site/docs/apisix/discovery/eureka.md",slug:"/discovery/eu [...]
\ No newline at end of file
diff --git a/assets/js/b0e5e822.53e589db.js b/assets/js/b0e5e822.53e589db.js
new file mode 100644
index 0000000..248bd6a
--- /dev/null
+++ b/assets/js/b0e5e822.53e589db.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[132],{199:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return s})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return l}));var a=n(3),r=n(8),i=(n(0),n(265)),o={title:"ApisixUpstream"},s={unversionedId:"concepts/apisix_upstream",id:"concepts/apisix_upstream",isDocsHomePage:!1,title:"ApisixUpstream",description:"\x3c!--",source:"@site/docs/apisix-ingress- [...]
\ No newline at end of file
diff --git a/assets/js/b0e5e822.7ea5169d.js b/assets/js/b0e5e822.7ea5169d.js
deleted file mode 100644
index 8202dc8..0000000
--- a/assets/js/b0e5e822.7ea5169d.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[126],{193:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return s})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return l}));var a=n(3),r=n(7),i=(n(0),n(255)),o={title:"ApisixUpstream"},s={unversionedId:"concepts/apisix_upstream",id:"concepts/apisix_upstream",isDocsHomePage:!1,title:"ApisixUpstream",description:"\x3c!--",source:"@site/docs/apisix-ingress- [...]
\ No newline at end of file
diff --git a/assets/js/b28b7341.b7a0f6f4.js b/assets/js/b28b7341.b7a0f6f4.js
new file mode 100644
index 0000000..541a6e4
--- /dev/null
+++ b/assets/js/b28b7341.b7a0f6f4.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[133],{200:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return b})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return d}));var r=n(3),a=n(8),i=(n(0),n(265)),l={title:"limit-count"},b={unversionedId:"plugins/limit-count",id:"plugins/limit-count",isDocsHomePage:!1,title:"limit-count",description:"\x3c!--",source:"@site/docs/apisix/plugins/limit-count.md", [...]
\ No newline at end of file
diff --git a/assets/js/b28b7341.da353a44.js b/assets/js/b28b7341.da353a44.js
deleted file mode 100644
index 7fc65eb..0000000
--- a/assets/js/b28b7341.da353a44.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[127],{194:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return b})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return d}));var r=n(3),a=n(7),i=(n(0),n(255)),l={title:"limit-count"},b={unversionedId:"plugins/limit-count",id:"plugins/limit-count",isDocsHomePage:!1,title:"limit-count",description:"\x3c!--",source:"@site/docs/apisix/plugins/limit-count.md", [...]
\ No newline at end of file
diff --git a/assets/js/b2b675dd.af75ded3.js b/assets/js/b2b675dd.af75ded3.js
deleted file mode 100644
index bc29bb4..0000000
--- a/assets/js/b2b675dd.af75ded3.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[128],{195:function(o){o.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":8,"previousPage":null,"nextPage":null,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/b2b675dd.c0f6b8df.js b/assets/js/b2b675dd.c0f6b8df.js
new file mode 100644
index 0000000..017dc8f
--- /dev/null
+++ b/assets/js/b2b675dd.c0f6b8df.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[134],{201:function(o){o.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":8,"previousPage":null,"nextPage":null,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/b3ea87e1.35879742.js b/assets/js/b3ea87e1.35879742.js
new file mode 100644
index 0000000..eeee523
--- /dev/null
+++ b/assets/js/b3ea87e1.35879742.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[135],{202:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return b})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return o}));var a=n(3),r=n(8),l=(n(0),n(265)),b={title:"batch-requests"},i={unversionedId:"plugins/batch-requests",id:"plugins/batch-requests",isDocsHomePage:!1,title:"batch-requests",description:"\x3c!--",source:"@site/docs/apisix/plugins/batc [...]
\ No newline at end of file
diff --git a/assets/js/b3ea87e1.9b415849.js b/assets/js/b3ea87e1.9b415849.js
deleted file mode 100644
index e84dd6b..0000000
--- a/assets/js/b3ea87e1.9b415849.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[129],{196:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return b})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return o}));var a=n(3),r=n(7),l=(n(0),n(255)),b={title:"batch-requests"},i={unversionedId:"plugins/batch-requests",id:"plugins/batch-requests",isDocsHomePage:!1,title:"batch-requests",description:"\x3c!--",source:"@site/docs/apisix/plugins/batc [...]
\ No newline at end of file
diff --git a/assets/js/b436937a.15e24f6a.js b/assets/js/b436937a.15e24f6a.js
new file mode 100644
index 0000000..aa38b09
--- /dev/null
+++ b/assets/js/b436937a.15e24f6a.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[136],{203:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return b})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),l=(n(0),n(265)),b={title:"tcp-logger"},i={unversionedId:"plugins/tcp-logger",id:"plugins/tcp-logger",isDocsHomePage:!1,title:"tcp-logger",description:"\x3c!--",source:"@site/docs/apisix/plugins/tcp-logger.md",slug: [...]
\ No newline at end of file
diff --git a/assets/js/b436937a.4dc88aa5.js b/assets/js/b436937a.4dc88aa5.js
deleted file mode 100644
index 2d8e849..0000000
--- a/assets/js/b436937a.4dc88aa5.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[130],{197:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return b})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(7),l=(n(0),n(255)),b={title:"tcp-logger"},i={unversionedId:"plugins/tcp-logger",id:"plugins/tcp-logger",isDocsHomePage:!1,title:"tcp-logger",description:"\x3c!--",source:"@site/docs/apisix/plugins/tcp-logger.md",slug: [...]
\ No newline at end of file
diff --git a/assets/js/b4a67526.090953e6.js b/assets/js/b4a67526.090953e6.js
new file mode 100644
index 0000000..4358f95
--- /dev/null
+++ b/assets/js/b4a67526.090953e6.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[137],{204:function(e){e.exports=JSON.parse('{"pluginId":"docs-apisix-ingress-controller","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Apache APISIX Ingress Controller","href":"https://apisix.apache.org/docs/ingress-controller/getting-started/"},{"collapsed":true,"type":"category","label":"Getting Started","items":[{"type":"link","label":"Getting Started","href":"/docs/ingress-controll [...]
\ No newline at end of file
diff --git a/assets/js/b4a67526.e2598a61.js b/assets/js/b4a67526.e2598a61.js
deleted file mode 100644
index 6e4ecf9..0000000
--- a/assets/js/b4a67526.e2598a61.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[131],{198:function(e){e.exports=JSON.parse('{"pluginId":"docs-apisix-ingress-controller","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Apache APISIX Ingress Controller","href":"https://apisix.apache.org/docs/ingress-controller/getting-started/"},{"collapsed":true,"type":"category","label":"Getting Started","items":[{"type":"link","label":"Getting Started","href":"/docs/ingress-controll [...]
\ No newline at end of file
diff --git a/assets/js/b58143c5.09152338.js b/assets/js/b58143c5.09152338.js
deleted file mode 100644
index 97e3701..0000000
--- a/assets/js/b58143c5.09152338.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[132],{199:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(255)),s={title:"Install Ingress APISIX on KubeSphere"},o={unversionedId:"deployments/kubesphere",id:"deployments/kubesphere",isDocsHomePage:!1,title:"Install Ingress APISIX on KubeSphere",description:"\x3 [...]
\ No newline at end of file
diff --git a/assets/js/b58143c5.b1c0dab7.js b/assets/js/b58143c5.b1c0dab7.js
new file mode 100644
index 0000000..61d47db
--- /dev/null
+++ b/assets/js/b58143c5.b1c0dab7.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[138],{205:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(265)),s={title:"Install Ingress APISIX on KubeSphere"},o={unversionedId:"deployments/kubesphere",id:"deployments/kubesphere",isDocsHomePage:!1,title:"Install Ingress APISIX on KubeSphere",description:"\x3 [...]
\ No newline at end of file
diff --git a/assets/js/b5a39df0.6f86300f.js b/assets/js/b5a39df0.6f86300f.js
new file mode 100644
index 0000000..537f2cc
--- /dev/null
+++ b/assets/js/b5a39df0.6f86300f.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[139],{206:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return i})),a.d(t,"metadata",(function(){return p})),a.d(t,"toc",(function(){return c})),a.d(t,"default",(function(){return s}));var n=a(3),r=a(8),l=(a(0),a(265)),i={title:"skywalking"},p={unversionedId:"plugins/skywalking",id:"plugins/skywalking",isDocsHomePage:!1,title:"skywalking",description:"\x3c!--",source:"@site/docs/apisix/plugins/skywalking.md",slug: [...]
\ No newline at end of file
diff --git a/assets/js/b5a39df0.782ee376.js b/assets/js/b5a39df0.782ee376.js
deleted file mode 100644
index 2aacb9a..0000000
--- a/assets/js/b5a39df0.782ee376.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[133],{200:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return i})),a.d(t,"metadata",(function(){return p})),a.d(t,"toc",(function(){return c})),a.d(t,"default",(function(){return s}));var n=a(3),r=a(7),l=(a(0),a(255)),i={title:"skywalking"},p={unversionedId:"plugins/skywalking",id:"plugins/skywalking",isDocsHomePage:!1,title:"skywalking",description:"\x3c!--",source:"@site/docs/apisix/plugins/skywalking.md",slug: [...]
\ No newline at end of file
diff --git a/assets/js/bacea567.971f589a.js b/assets/js/bacea567.971f589a.js
deleted file mode 100644
index 6934d3b..0000000
--- a/assets/js/bacea567.971f589a.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[134],{201:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return l}));var n=r(3),a=r(7),o=(r(0),r(255)),c={title:"Release Apache APISIX Dashboard 2.4"},i={permalink:"/events/2021/02/12/release-apache-apisix-dashboard-2.4",source:"@site/events/2021-02-12-release-apache-apisix-dashboard-2.4.md",descript [...]
\ No newline at end of file
diff --git a/assets/js/bacea567.aa537848.js b/assets/js/bacea567.aa537848.js
new file mode 100644
index 0000000..688f23b
--- /dev/null
+++ b/assets/js/bacea567.aa537848.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[140],{207:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return l}));var n=r(3),a=r(8),o=(r(0),r(265)),c={title:"Release Apache APISIX Dashboard 2.4"},i={permalink:"/events/2021/02/12/release-apache-apisix-dashboard-2.4",source:"@site/events/2021-02-12-release-apache-apisix-dashboard-2.4.md",descript [...]
\ No newline at end of file
diff --git a/assets/js/bd3a6b69.ae013042.js b/assets/js/bd3a6b69.ae013042.js
deleted file mode 100644
index 0a5e0c0..0000000
--- a/assets/js/bd3a6b69.ae013042.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[135],{202:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return b}));var a=n(3),r=n(7),o=(n(0),n(255)),i={title:"Deploy with Source Codes"},c={unversionedId:"deploy",id:"deploy",isDocsHomePage:!1,title:"Deploy with Source Codes",description:"\x3c!--",source:"@site/docs/apisix-dashboard/deploy.md",slu [...]
\ No newline at end of file
diff --git a/assets/js/bd3a6b69.c8f243fe.js b/assets/js/bd3a6b69.c8f243fe.js
new file mode 100644
index 0000000..0551391
--- /dev/null
+++ b/assets/js/bd3a6b69.c8f243fe.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[141],{208:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return b}));var a=n(3),r=n(8),o=(n(0),n(265)),i={title:"Deploy with Source Codes"},c={unversionedId:"deploy",id:"deploy",isDocsHomePage:!1,title:"Deploy with Source Codes",description:"\x3c!--",source:"@site/docs/apisix-dashboard/deploy.md",slu [...]
\ No newline at end of file
diff --git a/assets/js/bec177a9.f361db2d.js b/assets/js/bec177a9.f361db2d.js
new file mode 100644
index 0000000..60b37d6
--- /dev/null
+++ b/assets/js/bec177a9.f361db2d.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[142],{209:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return o})),r.d(t,"metadata",(function(){return l})),r.d(t,"toc",(function(){return c})),r.d(t,"default",(function(){return p}));var n=r(3),a=r(8),i=(r(0),r(265)),o={title:"Apache APISIX Dashboard Helm Chart"},l={unversionedId:"apisix-dashboard",id:"apisix-dashboard",isDocsHomePage:!1,title:"Apache APISIX Dashboard Helm Chart",description:"\x3c!--",source:"@s [...]
\ No newline at end of file
diff --git a/assets/js/c119cf3c.516b90d3.js b/assets/js/c119cf3c.516b90d3.js
new file mode 100644
index 0000000..3de0cfa
--- /dev/null
+++ b/assets/js/c119cf3c.516b90d3.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[143],{210:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return c})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return l}));var n=t(3),a=t(8),o=(t(0),t(265)),c={title:"Release Apache APISIX Ingress Controller 0.3.0"},i={permalink:"/events/2021/02/11/release-apache-apisix-ingress-controller-0.3.0",source:"@site/events/2021-02-11-release-apache-apisix-ingr [...]
\ No newline at end of file
diff --git a/assets/js/c119cf3c.caae9925.js b/assets/js/c119cf3c.caae9925.js
deleted file mode 100644
index 3e17214..0000000
--- a/assets/js/c119cf3c.caae9925.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[136],{203:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return c})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return l}));var n=t(3),a=t(7),o=(t(0),t(255)),c={title:"Release Apache APISIX Ingress Controller 0.3.0"},i={permalink:"/events/2021/02/11/release-apache-apisix-ingress-controller-0.3.0",source:"@site/events/2021-02-11-release-apache-apisix-ingr [...]
\ No newline at end of file
diff --git a/assets/js/c2f0cd73.4af51e15.js b/assets/js/c2f0cd73.4af51e15.js
new file mode 100644
index 0000000..c92a0a9
--- /dev/null
+++ b/assets/js/c2f0cd73.4af51e15.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[144],{211:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return d}));var r=n(3),a=n(8),i=(n(0),n(265)),o={title:"Deploy Apache APISIX with Docker"},c={unversionedId:"manual",id:"manual",isDocsHomePage:!1,title:"Deploy Apache APISIX with Docker",description:"\x3c!--",source:"@site/docs/apisix-docker/m [...]
\ No newline at end of file
diff --git a/assets/js/c44a0953.26cdf26a.js b/assets/js/c44a0953.26cdf26a.js
new file mode 100644
index 0000000..5c08348
--- /dev/null
+++ b/assets/js/c44a0953.26cdf26a.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[145],{212:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return u})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return o}));var a=n(3),r=n(8),i=(n(0),n(265)),l={title:"key-auth"},u={unversionedId:"plugins/key-auth",id:"plugins/key-auth",isDocsHomePage:!1,title:"key-auth",description:"\x3c!--",source:"@site/docs/apisix/plugins/key-auth.md",slug:"/plugins/ [...]
\ No newline at end of file
diff --git a/assets/js/c44a0953.b5f87489.js b/assets/js/c44a0953.b5f87489.js
deleted file mode 100644
index ac0140c..0000000
--- a/assets/js/c44a0953.b5f87489.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[137],{204:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return u})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return o}));var a=n(3),r=n(7),i=(n(0),n(255)),l={title:"key-auth"},u={unversionedId:"plugins/key-auth",id:"plugins/key-auth",isDocsHomePage:!1,title:"key-auth",description:"\x3c!--",source:"@site/docs/apisix/plugins/key-auth.md",slug:"/plugins/ [...]
\ No newline at end of file
diff --git a/assets/js/c4f5d8e4.4578d384.js b/assets/js/c4f5d8e4.4578d384.js
deleted file mode 100644
index 88a53f6..0000000
--- a/assets/js/c4f5d8e4.4578d384.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[138],{205:function(e,t,a){"use strict";a.r(t);var n=a(258),l=a(17),r=a(262),s=a(259),c=a(281),i=a(0),o=a(356),m=a(280),u=a(0),d=function(){var e=Object(i.useState)(0),t=e[0],a=e[1],l=["Dynamic","Real-Time","Performant"],s=Object(i.useState)(!0),m=s[0],d=s[1],p=function(e){d(!1),a(e),d(!0)};return Object(i.useEffect)((function(){var e=setInterval((function(){p(t>=l.length-1?0:t+1)}),3600);return function(){return clearInterval(e)}}),[t] [...]
\ No newline at end of file
diff --git a/assets/js/c4f5d8e4.e95ff947.js b/assets/js/c4f5d8e4.e95ff947.js
new file mode 100644
index 0000000..2f93bc4
--- /dev/null
+++ b/assets/js/c4f5d8e4.e95ff947.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[146],{213:function(e,t,a){"use strict";a.r(t);var n=a(268),l=a(17),r=a(272),s=a(269),c=a(291),i=a(0),o=a(366),m=a(290),u=a(0),d=function(){var e=Object(i.useState)(0),t=e[0],a=e[1],l=["Dynamic","Real-Time","Performant"],s=Object(i.useState)(!0),m=s[0],d=s[1],p=function(e){d(!1),a(e),d(!0)};return Object(i.useEffect)((function(){var e=setInterval((function(){p(t>=l.length-1?0:t+1)}),3600);return function(){return clearInterval(e)}}),[t] [...]
\ No newline at end of file
diff --git a/assets/js/c5594f1a.4a911b89.js b/assets/js/c5594f1a.4a911b89.js
new file mode 100644
index 0000000..2e65244
--- /dev/null
+++ b/assets/js/c5594f1a.4a911b89.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[147],{214:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return c})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return p}));var n=t(3),a=t(8),o=(t(0),t(265)),c={title:"Release Apache APISIX Ingress Controller 0.2.0"},i={permalink:"/events/2021/01/19/release-apache-apisix-ingress-controller-0.2.0",source:"@site/events/2021-01-19-release-apache-apisix-ingr [...]
\ No newline at end of file
diff --git a/assets/js/c5594f1a.bf77b89f.js b/assets/js/c5594f1a.bf77b89f.js
deleted file mode 100644
index c325a63..0000000
--- a/assets/js/c5594f1a.bf77b89f.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[139],{206:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return c})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return p}));var n=t(3),a=t(7),o=(t(0),t(255)),c={title:"Release Apache APISIX Ingress Controller 0.2.0"},i={permalink:"/events/2021/01/19/release-apache-apisix-ingress-controller-0.2.0",source:"@site/events/2021-01-19-release-apache-apisix-ingr [...]
\ No newline at end of file
diff --git a/assets/js/c6a4007d.335d05be.js b/assets/js/c6a4007d.335d05be.js
new file mode 100644
index 0000000..8d1d471
--- /dev/null
+++ b/assets/js/c6a4007d.335d05be.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[148],{215:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return l})),r.d(t,"metadata",(function(){return o})),r.d(t,"toc",(function(){return c})),r.d(t,"default",(function(){return p}));var n=r(3),a=r(8),i=(r(0),r(265)),l={title:"Apache APISIX Ingress Controller Helm Chart"},o={unversionedId:"apisix-ingress-controller",id:"apisix-ingress-controller",isDocsHomePage:!1,title:"Apache APISIX Ingress Controller Helm Cha [...]
\ No newline at end of file
diff --git a/assets/js/c888429e.506de5d4.js b/assets/js/c888429e.506de5d4.js
deleted file mode 100644
index f6e8a2c..0000000
--- a/assets/js/c888429e.506de5d4.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[140],{207:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return b})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(7),l=(n(0),n(255)),i={title:"echo"},b={unversionedId:"plugins/echo",id:"plugins/echo",isDocsHomePage:!1,title:"echo",description:"\x3c!--",source:"@site/docs/apisix/plugins/echo.md",slug:"/plugins/echo",permalink:"/do [...]
\ No newline at end of file
diff --git a/assets/js/c888429e.9ea8f89d.js b/assets/js/c888429e.9ea8f89d.js
new file mode 100644
index 0000000..3efebb5
--- /dev/null
+++ b/assets/js/c888429e.9ea8f89d.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[149],{216:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return b})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),l=(n(0),n(265)),i={title:"echo"},b={unversionedId:"plugins/echo",id:"plugins/echo",isDocsHomePage:!1,title:"echo",description:"\x3c!--",source:"@site/docs/apisix/plugins/echo.md",slug:"/plugins/echo",permalink:"/do [...]
\ No newline at end of file
diff --git a/assets/js/c9f6a9fb.3dae1604.js b/assets/js/c9f6a9fb.3dae1604.js
new file mode 100644
index 0000000..b248b2d
--- /dev/null
+++ b/assets/js/c9f6a9fb.3dae1604.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[150],{217:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(265)),l={title:"ApisixRoute/v1 (Deprecated) Reference"},c={unversionedId:"references/apisix_route_v1",id:"references/apisix_route_v1",isDocsHomePage:!1,title:"ApisixRoute/v1 (Deprecated) Reference",descri [...]
\ No newline at end of file
diff --git a/assets/js/c9f6a9fb.a88aed01.js b/assets/js/c9f6a9fb.a88aed01.js
deleted file mode 100644
index eeb8fc6..0000000
--- a/assets/js/c9f6a9fb.a88aed01.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[141],{208:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(255)),l={title:"ApisixRoute/v1 (Deprecated) Reference"},c={unversionedId:"references/apisix_route_v1",id:"references/apisix_route_v1",isDocsHomePage:!1,title:"ApisixRoute/v1 (Deprecated) Reference",descri [...]
\ No newline at end of file
diff --git a/assets/js/ca5ff64e.5ec57037.js b/assets/js/ca5ff64e.5ec57037.js
new file mode 100644
index 0000000..d53c04c
--- /dev/null
+++ b/assets/js/ca5ff64e.5ec57037.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[151],{218:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return a})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return l}));var r=n(3),i=n(8),s=(n(0),n(265)),a={title:"Proxy the httpbin service with Ingress"},c={unversionedId:"practices/proxy-the-httpbin-service-with-ingress",id:"practices/proxy-the-httpbin-service-with-ingress",isDocsHomePage:!1,title:" [...]
\ No newline at end of file
diff --git a/assets/js/ca5ff64e.e31a568b.js b/assets/js/ca5ff64e.e31a568b.js
deleted file mode 100644
index 913183c..0000000
--- a/assets/js/ca5ff64e.e31a568b.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[142],{209:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return a})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return l}));var r=n(3),i=n(7),s=(n(0),n(255)),a={title:"Proxy the httpbin service with Ingress"},c={unversionedId:"practices/proxy-the-httpbin-service-with-ingress",id:"practices/proxy-the-httpbin-service-with-ingress",isDocsHomePage:!1,title:" [...]
\ No newline at end of file
diff --git a/assets/js/ccc49370.b6148211.js b/assets/js/ccc49370.b6148211.js
deleted file mode 100644
index e9dad80..0000000
--- a/assets/js/ccc49370.b6148211.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[143],{253:function(e,t,a){"use strict";a.r(t);var n=a(0),l=a.n(n),r=a(259),i=a(304),c=a(258);var o=function(e){var t=e.nextItem,a=e.prevItem;return l.a.createElement("nav",{className:"pagination-nav","aria-label":"Blog post page navigation"},l.a.createElement("div",{className:"pagination-nav__item"},a&&l.a.createElement(c.a,{className:"pagination-nav__link",to:a.permalink},l.a.createElement("div",{className:"pagination-nav__sublabel"}, [...]
\ No newline at end of file
diff --git a/assets/js/ccc49370.e61c2657.js b/assets/js/ccc49370.e61c2657.js
new file mode 100644
index 0000000..bf94bb6
--- /dev/null
+++ b/assets/js/ccc49370.e61c2657.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[152],{263:function(e,t,a){"use strict";a.r(t);var n=a(0),l=a.n(n),r=a(269),i=a(314),c=a(268);var o=function(e){var t=e.nextItem,a=e.prevItem;return l.a.createElement("nav",{className:"pagination-nav","aria-label":"Blog post page navigation"},l.a.createElement("div",{className:"pagination-nav__item"},a&&l.a.createElement(c.a,{className:"pagination-nav__link",to:a.permalink},l.a.createElement("div",{className:"pagination-nav__sublabel"}, [...]
\ No newline at end of file
diff --git a/assets/js/cf167ebd.05c38ed5.js b/assets/js/cf167ebd.05c38ed5.js
new file mode 100644
index 0000000..2cb1df0
--- /dev/null
+++ b/assets/js/cf167ebd.05c38ed5.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[153],{219:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return u}));var r=n(3),a=n(8),c=(n(0),n(265)),i={title:"Mutual TLS authentication for Admin API"},l={unversionedId:"mtls",id:"mtls",isDocsHomePage:!1,title:"Mutual TLS authentication for Admin API",description:"\x3c!--",source:"@site/docs/apisi [...]
\ No newline at end of file
diff --git a/assets/js/cf167ebd.2142c971.js b/assets/js/cf167ebd.2142c971.js
deleted file mode 100644
index 871377a..0000000
--- a/assets/js/cf167ebd.2142c971.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[144],{210:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return u}));var r=n(3),a=n(7),c=(n(0),n(255)),i={title:"Mutual TLS authentication for Admin API"},l={unversionedId:"mtls",id:"mtls",isDocsHomePage:!1,title:"Mutual TLS authentication for Admin API",description:"\x3c!--",source:"@site/docs/apisi [...]
\ No newline at end of file
diff --git a/assets/js/cf554819.c54f7806.js b/assets/js/cf554819.c54f7806.js
new file mode 100644
index 0000000..99fb919
--- /dev/null
+++ b/assets/js/cf554819.c54f7806.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[154],{220:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return b})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return o}));var a=n(3),r=n(8),i=(n(0),n(265)),l={title:"jwt-auth"},b={unversionedId:"plugins/jwt-auth",id:"plugins/jwt-auth",isDocsHomePage:!1,title:"jwt-auth",description:"\x3c!--",source:"@site/docs/apisix/plugins/jwt-auth.md",slug:"/plugins/ [...]
\ No newline at end of file
diff --git a/assets/js/cf554819.dba230ac.js b/assets/js/cf554819.dba230ac.js
deleted file mode 100644
index a4354e5..0000000
--- a/assets/js/cf554819.dba230ac.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[145],{211:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return b})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return o}));var a=n(3),r=n(7),i=(n(0),n(255)),l={title:"jwt-auth"},b={unversionedId:"plugins/jwt-auth",id:"plugins/jwt-auth",isDocsHomePage:!1,title:"jwt-auth",description:"\x3c!--",source:"@site/docs/apisix/plugins/jwt-auth.md",slug:"/plugins/ [...]
\ No newline at end of file
diff --git a/assets/js/d0f73e13.eaf73011.js b/assets/js/d0f73e13.eaf73011.js
deleted file mode 100644
index 7870b00..0000000
--- a/assets/js/d0f73e13.eaf73011.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[146],{212:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),o=n(7),a=(n(0),n(255)),i={title:"Plugins"},c={unversionedId:"plugins",id:"plugins",isDocsHomePage:!1,title:"Plugins",description:"\x3c!--",source:"@site/docs/apisix/plugins.md",slug:"/plugins",permalink:"/docs/apisix/plug [...]
\ No newline at end of file
diff --git a/assets/js/d0f73e13.f9e47ff4.js b/assets/js/d0f73e13.f9e47ff4.js
new file mode 100644
index 0000000..3ccde17
--- /dev/null
+++ b/assets/js/d0f73e13.f9e47ff4.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[155],{221:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),o=n(8),a=(n(0),n(265)),i={title:"Plugins"},c={unversionedId:"plugins",id:"plugins",isDocsHomePage:!1,title:"Plugins",description:"\x3c!--",source:"@site/docs/apisix/plugins.md",slug:"/plugins",permalink:"/docs/apisix/plug [...]
\ No newline at end of file
diff --git a/assets/js/d18db9b0.3687bb7f.js b/assets/js/d18db9b0.3687bb7f.js
deleted file mode 100644
index a3091ab..0000000
--- a/assets/js/d18db9b0.3687bb7f.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[147],{213:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return a})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return u})),t.d(r,"default",(function(){return l}));var n=t(3),o=t(7),c=(t(0),t(255)),a={},i={unversionedId:"IGNORE_DOC",id:"IGNORE_DOC",isDocsHomePage:!1,title:"IGNORE_DOC",description:"IGNORE_DOC",source:"@site/docs/apisix-ingress-controller/IGNORE_DOC.md",slug:"/IGNORE_DOC",permal [...]
\ No newline at end of file
diff --git a/assets/js/d18db9b0.c83401c5.js b/assets/js/d18db9b0.c83401c5.js
new file mode 100644
index 0000000..4e1163e
--- /dev/null
+++ b/assets/js/d18db9b0.c83401c5.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[156],{222:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return a})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return u})),t.d(r,"default",(function(){return l}));var n=t(3),o=t(8),c=(t(0),t(265)),a={},i={unversionedId:"IGNORE_DOC",id:"IGNORE_DOC",isDocsHomePage:!1,title:"IGNORE_DOC",description:"IGNORE_DOC",source:"@site/docs/apisix-ingress-controller/IGNORE_DOC.md",slug:"/IGNORE_DOC",permal [...]
\ No newline at end of file
diff --git a/assets/js/d2247e49.392c93e6.js b/assets/js/d2247e49.392c93e6.js
deleted file mode 100644
index c2074cc..0000000
--- a/assets/js/d2247e49.392c93e6.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[148],{214:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return b})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return o}));var a=n(3),r=n(7),l=(n(0),n(255)),b={title:"ApisixRoute/v2alpha1 Reference"},i={unversionedId:"references/apisix_route_v2alpha1",id:"references/apisix_route_v2alpha1",isDocsHomePage:!1,title:"ApisixRoute/v2alpha1 Reference",descript [...]
\ No newline at end of file
diff --git a/assets/js/d2247e49.7660254d.js b/assets/js/d2247e49.7660254d.js
new file mode 100644
index 0000000..37480e4
--- /dev/null
+++ b/assets/js/d2247e49.7660254d.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[157],{223:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return b})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return o}));var a=n(3),r=n(8),l=(n(0),n(265)),b={title:"ApisixRoute/v2alpha1 Reference"},i={unversionedId:"references/apisix_route_v2alpha1",id:"references/apisix_route_v2alpha1",isDocsHomePage:!1,title:"ApisixRoute/v2alpha1 Reference",descript [...]
\ No newline at end of file
diff --git a/assets/js/d3321028.bd3678b6.js b/assets/js/d3321028.bd3678b6.js
new file mode 100644
index 0000000..d057008
--- /dev/null
+++ b/assets/js/d3321028.bd3678b6.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[158],{224:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return c})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return l}));var n=t(3),a=t(8),o=(t(0),t(265)),c={title:"Release Apache APISIX Ingress Controller 0.4.0"},i={permalink:"/events/2021/03/12/release-apache-apisix-ingress-controller-0.4.0",source:"@site/events/2021-03-12-release-apache-apisix-ingr [...]
\ No newline at end of file
diff --git a/assets/js/d3321028.dd9f66c9.js b/assets/js/d3321028.dd9f66c9.js
deleted file mode 100644
index 4155407..0000000
--- a/assets/js/d3321028.dd9f66c9.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[149],{215:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return c})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return l}));var n=t(3),a=t(7),o=(t(0),t(255)),c={title:"Release Apache APISIX Ingress Controller 0.4.0"},i={permalink:"/events/2021/03/12/release-apache-apisix-ingress-controller-0.4.0",source:"@site/events/2021-03-12-release-apache-apisix-ingr [...]
\ No newline at end of file
diff --git a/assets/js/d3e633ff.22645c7c.js b/assets/js/d3e633ff.22645c7c.js
deleted file mode 100644
index 87e39a2..0000000
--- a/assets/js/d3e633ff.22645c7c.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[150],{216:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(7),c=(n(0),n(255)),l={title:"proxy-cache"},i={unversionedId:"plugins/proxy-cache",id:"plugins/proxy-cache",isDocsHomePage:!1,title:"proxy-cache",description:"\x3c!--",source:"@site/docs/apisix/plugins/proxy-cache.md", [...]
\ No newline at end of file
diff --git a/assets/js/d3e633ff.c7cf4b55.js b/assets/js/d3e633ff.c7cf4b55.js
new file mode 100644
index 0000000..5d113cb
--- /dev/null
+++ b/assets/js/d3e633ff.c7cf4b55.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[159],{225:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),c=(n(0),n(265)),l={title:"proxy-cache"},i={unversionedId:"plugins/proxy-cache",id:"plugins/proxy-cache",isDocsHomePage:!1,title:"proxy-cache",description:"\x3c!--",source:"@site/docs/apisix/plugins/proxy-cache.md", [...]
\ No newline at end of file
diff --git a/assets/js/d4de91ec.3b5fc76e.js b/assets/js/d4de91ec.3b5fc76e.js
deleted file mode 100644
index 885c979..0000000
--- a/assets/js/d4de91ec.3b5fc76e.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[151],{217:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return p})),a.d(t,"metadata",(function(){return c})),a.d(t,"toc",(function(){return l})),a.d(t,"default",(function(){return b}));var r=a(3),i=a(7),n=(a(0),a(255)),p={title:"Release Apache APISIX Dashboard 2.4"},c={permalink:"/events/2021/02/12/release-apache-apisix-dashboard-2.4",source:"@site/events/2021-02-12-release-apache-apisix-dashboard-2.4.md",descript [...]
\ No newline at end of file
diff --git a/assets/js/d4de91ec.5c95a4d2.js b/assets/js/d4de91ec.5c95a4d2.js
new file mode 100644
index 0000000..29707bb
--- /dev/null
+++ b/assets/js/d4de91ec.5c95a4d2.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[160],{226:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return p})),a.d(t,"metadata",(function(){return c})),a.d(t,"toc",(function(){return l})),a.d(t,"default",(function(){return b}));var r=a(3),i=a(8),n=(a(0),a(265)),p={title:"Release Apache APISIX Dashboard 2.4"},c={permalink:"/events/2021/02/12/release-apache-apisix-dashboard-2.4",source:"@site/events/2021-02-12-release-apache-apisix-dashboard-2.4.md",descript [...]
\ No newline at end of file
diff --git a/assets/js/d73fca9b.6881e694.js b/assets/js/d73fca9b.6881e694.js
deleted file mode 100644
index abaf6e2..0000000
--- a/assets/js/d73fca9b.6881e694.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[152],{218:function(i){i.exports=JSON.parse('{"pluginId":"docs-apisix","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Apache APISIX","href":"https://apisix.apache.org/docs/apisix/getting-started"},{"collapsed":true,"type":"category","label":"Architecture Design","items":[{"type":"link","label":"APISIX","href":"/docs/apisix/architecture-design/apisix"},{"type":"link","label":"Route","href [...]
\ No newline at end of file
diff --git a/assets/js/d73fca9b.eae4cf90.js b/assets/js/d73fca9b.eae4cf90.js
new file mode 100644
index 0000000..4d0c8da
--- /dev/null
+++ b/assets/js/d73fca9b.eae4cf90.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[161],{227:function(i){i.exports=JSON.parse('{"pluginId":"docs-apisix","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Apache APISIX","href":"https://apisix.apache.org/docs/apisix/getting-started"},{"collapsed":true,"type":"category","label":"Architecture Design","items":[{"type":"link","label":"APISIX","href":"/docs/apisix/architecture-design/apisix"},{"type":"link","label":"Route","href [...]
\ No newline at end of file
diff --git a/assets/js/d9418bf0.4fa14632.js b/assets/js/d9418bf0.4fa14632.js
deleted file mode 100644
index 4ba184c..0000000
--- a/assets/js/d9418bf0.4fa14632.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[153],{219:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return b})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(7),l=(n(0),n(255)),i={title:"kafka-logger"},b={unversionedId:"plugins/kafka-logger",id:"plugins/kafka-logger",isDocsHomePage:!1,title:"kafka-logger",description:"\x3c!--",source:"@site/docs/apisix/plugins/kafka-logger [...]
\ No newline at end of file
diff --git a/assets/js/d9418bf0.5fb69fb7.js b/assets/js/d9418bf0.5fb69fb7.js
new file mode 100644
index 0000000..e3d92fa
--- /dev/null
+++ b/assets/js/d9418bf0.5fb69fb7.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[162],{228:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return b})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),l=(n(0),n(265)),i={title:"kafka-logger"},b={unversionedId:"plugins/kafka-logger",id:"plugins/kafka-logger",isDocsHomePage:!1,title:"kafka-logger",description:"\x3c!--",source:"@site/docs/apisix/plugins/kafka-logger [...]
\ No newline at end of file
diff --git a/assets/js/da9aeeeb.5c3972f4.js b/assets/js/da9aeeeb.5c3972f4.js
new file mode 100644
index 0000000..d0a9518
--- /dev/null
+++ b/assets/js/da9aeeeb.5c3972f4.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[163],{229:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),i=(n(0),n(265)),s={title:"Backend Tests"},o={unversionedId:"back-end-tests",id:"back-end-tests",isDocsHomePage:!1,title:"Backend Tests",description:"\x3c!--",source:"@site/docs/apisix-dashboard/back-end-tests.md",s [...]
\ No newline at end of file
diff --git a/assets/js/da9aeeeb.da5379af.js b/assets/js/da9aeeeb.da5379af.js
deleted file mode 100644
index 9767a31..0000000
--- a/assets/js/da9aeeeb.da5379af.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[154],{220:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(7),i=(n(0),n(255)),s={title:"Backend Tests"},o={unversionedId:"back-end-tests",id:"back-end-tests",isDocsHomePage:!1,title:"Backend Tests",description:"\x3c!--",source:"@site/docs/apisix-dashboard/back-end-tests.md",s [...]
\ No newline at end of file
diff --git a/assets/js/dcb3fc1e.3c1fe1c2.js b/assets/js/dcb3fc1e.3c1fe1c2.js
new file mode 100644
index 0000000..92be3b1
--- /dev/null
+++ b/assets/js/dcb3fc1e.3c1fe1c2.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[164],{230:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return c})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return p}));var r=n(3),i=n(8),a=(n(0),n(265)),c={title:"Service"},o={unversionedId:"architecture-design/service",id:"architecture-design/service",isDocsHomePage:!1,title:"Service",description:"\x3c!--",source:"@site/docs/apisix/architecture-des [...]
\ No newline at end of file
diff --git a/assets/js/dcb3fc1e.d7d38f43.js b/assets/js/dcb3fc1e.d7d38f43.js
deleted file mode 100644
index 3384267..0000000
--- a/assets/js/dcb3fc1e.d7d38f43.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[155],{221:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return c})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return p}));var r=n(3),i=n(7),a=(n(0),n(255)),c={title:"Service"},o={unversionedId:"architecture-design/service",id:"architecture-design/service",isDocsHomePage:!1,title:"Service",description:"\x3c!--",source:"@site/docs/apisix/architecture-des [...]
\ No newline at end of file
diff --git a/assets/js/dd639a99.74b40cca.js b/assets/js/dd639a99.74b40cca.js
new file mode 100644
index 0000000..c71a641
--- /dev/null
+++ b/assets/js/dd639a99.74b40cca.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[165],{231:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return u})),n.d(t,"default",(function(){return o}));var a=n(3),r=n(8),i=(n(0),n(265)),l={title:"basic-auth"},c={unversionedId:"plugins/basic-auth",id:"plugins/basic-auth",isDocsHomePage:!1,title:"basic-auth",description:"\x3c!--",source:"@site/docs/apisix/plugins/basic-auth.md",slug: [...]
\ No newline at end of file
diff --git a/assets/js/dd639a99.7b1f28be.js b/assets/js/dd639a99.7b1f28be.js
deleted file mode 100644
index 2feb9e5..0000000
--- a/assets/js/dd639a99.7b1f28be.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[156],{222:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return u})),n.d(t,"default",(function(){return o}));var a=n(3),r=n(7),i=(n(0),n(255)),l={title:"basic-auth"},c={unversionedId:"plugins/basic-auth",id:"plugins/basic-auth",isDocsHomePage:!1,title:"basic-auth",description:"\x3c!--",source:"@site/docs/apisix/plugins/basic-auth.md",slug: [...]
\ No newline at end of file
diff --git a/assets/js/e02da2c5.d05e8e87.js b/assets/js/e02da2c5.d05e8e87.js
deleted file mode 100644
index e020490..0000000
--- a/assets/js/e02da2c5.d05e8e87.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[157],{223:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return c})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return l}));var r=n(3),o=n(7),a=(n(0),n(255)),c={title:"Envoy and Apache APISIX: Another way to implement the Envoy filter",author:"nic-chen",authorURL:"https://github.com/nic-chen",authorImageURL:"https://avatars0.githubusercontent.com/u/33000 [...]
\ No newline at end of file
diff --git a/assets/js/e02da2c5.dcf1673e.js b/assets/js/e02da2c5.dcf1673e.js
new file mode 100644
index 0000000..b09f005
--- /dev/null
+++ b/assets/js/e02da2c5.dcf1673e.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[166],{232:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return c})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return l}));var r=n(3),o=n(8),a=(n(0),n(265)),c={title:"Envoy and Apache APISIX: Another way to implement the Envoy filter",author:"nic-chen",authorURL:"https://github.com/nic-chen",authorImageURL:"https://avatars0.githubusercontent.com/u/33000 [...]
\ No newline at end of file
diff --git a/assets/js/e1a3b18d.32be2215.js b/assets/js/e1a3b18d.32be2215.js
new file mode 100644
index 0000000..354880a
--- /dev/null
+++ b/assets/js/e1a3b18d.32be2215.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[167],{233:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return p})),r.d(t,"default",(function(){return u}));var n=r(3),o=r(8),a=(r(0),r(265)),c={title:"Install Apache APISIX from Helm Charts",author:"Chao Zhang",authorURL:"https://github.com/tokers",authorImageURL:"https://avatars.githubusercontent.com/u/10428333?s=400&u=f48ef50c5621a1616 [...]
\ No newline at end of file
diff --git a/assets/js/e1a3b18d.a9e5db45.js b/assets/js/e1a3b18d.a9e5db45.js
deleted file mode 100644
index 263c120..0000000
--- a/assets/js/e1a3b18d.a9e5db45.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[158],{224:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return p})),r.d(t,"default",(function(){return u}));var n=r(3),o=r(7),a=(r(0),r(255)),c={title:"Install Apache APISIX from Helm Charts",author:"Chao Zhang",authorURL:"https://github.com/tokers",authorImageURL:"https://avatars.githubusercontent.com/u/10428333?s=400&u=f48ef50c5621a1616 [...]
\ No newline at end of file
diff --git a/assets/js/e278666a.36139cb9.js b/assets/js/e278666a.36139cb9.js
new file mode 100644
index 0000000..4bd87fa
--- /dev/null
+++ b/assets/js/e278666a.36139cb9.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[168],{234:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return b}));var r=n(3),a=n(8),l=(n(0),n(265)),i={title:"grpc-transcode"},o={unversionedId:"plugins/grpc-transcode",id:"plugins/grpc-transcode",isDocsHomePage:!1,title:"grpc-transcode",description:"\x3c!--",source:"@site/docs/apisix/plugins/grpc [...]
\ No newline at end of file
diff --git a/assets/js/e278666a.5830f3c3.js b/assets/js/e278666a.5830f3c3.js
deleted file mode 100644
index a58d965..0000000
--- a/assets/js/e278666a.5830f3c3.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[159],{225:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return b}));var r=n(3),a=n(7),l=(n(0),n(255)),i={title:"grpc-transcode"},o={unversionedId:"plugins/grpc-transcode",id:"plugins/grpc-transcode",isDocsHomePage:!1,title:"grpc-transcode",description:"\x3c!--",source:"@site/docs/apisix/plugins/grpc [...]
\ No newline at end of file
diff --git a/assets/js/e3d364e1.58ce1868.js b/assets/js/e3d364e1.58ce1868.js
deleted file mode 100644
index 296145b..0000000
--- a/assets/js/e3d364e1.58ce1868.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[160],{226:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return c})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return p}));var i=n(3),a=n(7),r=(n(0),n(255)),c={title:"HTTPS"},o={unversionedId:"https",id:"https",isDocsHomePage:!1,title:"HTTPS",description:"\x3c!--",source:"@site/docs/apisix/https.md",slug:"/https",permalink:"/docs/apisix/https",editUrl:" [...]
\ No newline at end of file
diff --git a/assets/js/e3d364e1.5ee59607.js b/assets/js/e3d364e1.5ee59607.js
new file mode 100644
index 0000000..293a611
--- /dev/null
+++ b/assets/js/e3d364e1.5ee59607.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[169],{235:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return c})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return p}));var i=n(3),a=n(8),r=(n(0),n(265)),c={title:"HTTPS"},o={unversionedId:"https",id:"https",isDocsHomePage:!1,title:"HTTPS",description:"\x3c!--",source:"@site/docs/apisix/https.md",slug:"/https",permalink:"/docs/apisix/https",editUrl:" [...]
\ No newline at end of file
diff --git a/assets/js/e451ae2c.5bd28541.js b/assets/js/e451ae2c.5bd28541.js
new file mode 100644
index 0000000..d8a54c9
--- /dev/null
+++ b/assets/js/e451ae2c.5bd28541.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[170],{236:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return u})),r.d(t,"default",(function(){return l}));var n=r(3),o=r(8),a=(r(0),r(265)),c={title:"Stable Product Delivery with Cypress",author:"Yi Sun",authorURL:"https://github.com/LiteSun",authorImageURL:"https://avatars.githubusercontent.com/u/31329157?s=400&u=e81b4bb4db2be162c1fcac [...]
\ No newline at end of file
diff --git a/assets/js/e451ae2c.eacb8c12.js b/assets/js/e451ae2c.eacb8c12.js
deleted file mode 100644
index 22500b2..0000000
--- a/assets/js/e451ae2c.eacb8c12.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[161],{227:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return u})),r.d(t,"default",(function(){return l}));var n=r(3),o=r(7),a=(r(0),r(255)),c={title:"Stable Product Delivery with Cypress",author:"Yi Sun",authorURL:"https://github.com/LiteSun",authorImageURL:"https://avatars.githubusercontent.com/u/31329157?s=400&u=e81b4bb4db2be162c1fcac [...]
\ No newline at end of file
diff --git a/assets/js/e461335b.4745a367.js b/assets/js/e461335b.4745a367.js
new file mode 100644
index 0000000..37702d5
--- /dev/null
+++ b/assets/js/e461335b.4745a367.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[171],{237:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return o})),t.d(n,"metadata",(function(){return l})),t.d(n,"toc",(function(){return s})),t.d(n,"default",(function(){return u}));var a=t(3),r=t(8),i=(t(0),t(265)),o={title:"consul_kv"},l={unversionedId:"discovery/consul_kv",id:"discovery/consul_kv",isDocsHomePage:!1,title:"consul_kv",description:"\x3c!--",source:"@site/docs/apisix/discovery/consul_kv.md",slug [...]
\ No newline at end of file
diff --git a/assets/js/e461335b.df841a90.js b/assets/js/e461335b.df841a90.js
deleted file mode 100644
index 3275e00..0000000
--- a/assets/js/e461335b.df841a90.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[162],{228:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return o})),t.d(n,"metadata",(function(){return l})),t.d(n,"toc",(function(){return s})),t.d(n,"default",(function(){return u}));var a=t(3),r=t(7),i=(t(0),t(255)),o={title:"consul_kv"},l={unversionedId:"discovery/consul_kv",id:"discovery/consul_kv",isDocsHomePage:!1,title:"consul_kv",description:"\x3c!--",source:"@site/docs/apisix/discovery/consul_kv.md",slug [...]
\ No newline at end of file
diff --git a/assets/js/e5ad0cc6.11d6bff1.js b/assets/js/e5ad0cc6.11d6bff1.js
new file mode 100644
index 0000000..2a860b8
--- /dev/null
+++ b/assets/js/e5ad0cc6.11d6bff1.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[172],{238:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return i})),t.d(n,"metadata",(function(){return o})),t.d(n,"toc",(function(){return s})),t.d(n,"default",(function(){return l}));var a=t(3),r=t(8),c=(t(0),t(265)),i={title:"Upstream"},o={unversionedId:"architecture-design/upstream",id:"architecture-design/upstream",isDocsHomePage:!1,title:"Upstream",description:"\x3c!--",source:"@site/docs/apisix/architecture [...]
\ No newline at end of file
diff --git a/assets/js/e5ad0cc6.b9844ca8.js b/assets/js/e5ad0cc6.b9844ca8.js
deleted file mode 100644
index 2548a28..0000000
--- a/assets/js/e5ad0cc6.b9844ca8.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[163],{229:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return i})),t.d(n,"metadata",(function(){return o})),t.d(n,"toc",(function(){return s})),t.d(n,"default",(function(){return l}));var a=t(3),r=t(7),c=(t(0),t(255)),i={title:"Upstream"},o={unversionedId:"architecture-design/upstream",id:"architecture-design/upstream",isDocsHomePage:!1,title:"Upstream",description:"\x3c!--",source:"@site/docs/apisix/architecture [...]
\ No newline at end of file
diff --git a/assets/js/e60dd3b0.46ded9ba.js b/assets/js/e60dd3b0.46ded9ba.js
deleted file mode 100644
index b4415c9..0000000
--- a/assets/js/e60dd3b0.46ded9ba.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[164],{230:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var i=n(3),a=n(7),r=(n(0),n(255)),s={title:"Ingress Controller"},o={unversionedId:"design",id:"design",isDocsHomePage:!1,title:"Ingress Controller",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/design.md",slug:" [...]
\ No newline at end of file
diff --git a/assets/js/e60dd3b0.d269712f.js b/assets/js/e60dd3b0.d269712f.js
new file mode 100644
index 0000000..e01e361
--- /dev/null
+++ b/assets/js/e60dd3b0.d269712f.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[173],{239:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var i=n(3),a=n(8),r=(n(0),n(265)),s={title:"Ingress Controller"},o={unversionedId:"design",id:"design",isDocsHomePage:!1,title:"Ingress Controller",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/design.md",slug:" [...]
\ No newline at end of file
diff --git a/assets/js/e75fbec5.4f91250d.js b/assets/js/e75fbec5.4f91250d.js
new file mode 100644
index 0000000..b62a81c
--- /dev/null
+++ b/assets/js/e75fbec5.4f91250d.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[174],{242:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return i})),r.d(t,"metadata",(function(){return o})),r.d(t,"toc",(function(){return l})),r.d(t,"default",(function(){return p}));var n=r(3),a=r(8),c=(r(0),r(265)),i={title:"ApisixTls Reference"},o={unversionedId:"references/apisix_tls",id:"references/apisix_tls",isDocsHomePage:!1,title:"ApisixTls Reference",description:"\x3c!--",source:"@site/docs/apisix-ingr [...]
\ No newline at end of file
diff --git a/assets/js/e75fbec5.d2b4fd6b.js b/assets/js/e75fbec5.d2b4fd6b.js
deleted file mode 100644
index 5a741e9..0000000
--- a/assets/js/e75fbec5.d2b4fd6b.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[165],{233:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return i})),r.d(t,"metadata",(function(){return o})),r.d(t,"toc",(function(){return l})),r.d(t,"default",(function(){return p}));var n=r(3),a=r(7),c=(r(0),r(255)),i={title:"ApisixTls Reference"},o={unversionedId:"references/apisix_tls",id:"references/apisix_tls",isDocsHomePage:!1,title:"ApisixTls Reference",description:"\x3c!--",source:"@site/docs/apisix-ingr [...]
\ No newline at end of file
diff --git a/assets/js/e7ebab94.096e3421.js b/assets/js/e7ebab94.096e3421.js
new file mode 100644
index 0000000..ee734e0
--- /dev/null
+++ b/assets/js/e7ebab94.096e3421.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[175],{243:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return b})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),l=(n(0),n(265)),b={title:"syslog"},i={unversionedId:"plugins/syslog",id:"plugins/syslog",isDocsHomePage:!1,title:"syslog",description:"\x3c!--",source:"@site/docs/apisix/plugins/syslog.md",slug:"/plugins/syslog",pe [...]
\ No newline at end of file
diff --git a/assets/js/e7ebab94.5969a2c7.js b/assets/js/e7ebab94.5969a2c7.js
deleted file mode 100644
index 27e88e0..0000000
--- a/assets/js/e7ebab94.5969a2c7.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[166],{234:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return b})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(7),l=(n(0),n(255)),b={title:"syslog"},i={unversionedId:"plugins/syslog",id:"plugins/syslog",isDocsHomePage:!1,title:"syslog",description:"\x3c!--",source:"@site/docs/apisix/plugins/syslog.md",slug:"/plugins/syslog",pe [...]
\ No newline at end of file
diff --git a/assets/js/ec546d2e.32a5fff4.js b/assets/js/ec546d2e.32a5fff4.js
new file mode 100644
index 0000000..0d321ca
--- /dev/null
+++ b/assets/js/ec546d2e.32a5fff4.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[176],{244:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return l}));var r=n(3),a=n(8),i=(n(0),n(265)),o={title:"Consumer"},c={unversionedId:"architecture-design/consumer",id:"architecture-design/consumer",isDocsHomePage:!1,title:"Consumer",description:"\x3c!--",source:"@site/docs/apisix/architecture [...]
\ No newline at end of file
diff --git a/assets/js/ec546d2e.99098154.js b/assets/js/ec546d2e.99098154.js
deleted file mode 100644
index c130040..0000000
--- a/assets/js/ec546d2e.99098154.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[167],{235:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return l}));var r=n(3),a=n(7),i=(n(0),n(255)),o={title:"Consumer"},c={unversionedId:"architecture-design/consumer",id:"architecture-design/consumer",isDocsHomePage:!1,title:"Consumer",description:"\x3c!--",source:"@site/docs/apisix/architecture [...]
\ No newline at end of file
diff --git a/assets/js/ed20433f.5a66daa3.js b/assets/js/ed20433f.5a66daa3.js
new file mode 100644
index 0000000..2ad15cf
--- /dev/null
+++ b/assets/js/ed20433f.5a66daa3.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[177],{245:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return o})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return c})),t.d(r,"default",(function(){return p}));var n=t(3),a=t(8),l=(t(0),t(265)),o={title:"log-rotate"},i={unversionedId:"plugins/log-rotate",id:"plugins/log-rotate",isDocsHomePage:!1,title:"log-rotate",description:"\x3c!--",source:"@site/docs/apisix/plugins/log-rotate.md",slug: [...]
\ No newline at end of file
diff --git a/assets/js/ed20433f.b3294a15.js b/assets/js/ed20433f.b3294a15.js
deleted file mode 100644
index cf5fd2a..0000000
--- a/assets/js/ed20433f.b3294a15.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[168],{236:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return o})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return c})),t.d(r,"default",(function(){return p}));var n=t(3),a=t(7),l=(t(0),t(255)),o={title:"log-rotate"},i={unversionedId:"plugins/log-rotate",id:"plugins/log-rotate",isDocsHomePage:!1,title:"log-rotate",description:"\x3c!--",source:"@site/docs/apisix/plugins/log-rotate.md",slug: [...]
\ No newline at end of file
diff --git a/assets/js/ef63a76e.88e294a9.js b/assets/js/ef63a76e.88e294a9.js
deleted file mode 100644
index d23343f..0000000
--- a/assets/js/ef63a76e.88e294a9.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[169],{237:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return c})),t.d(n,"metadata",(function(){return a})),t.d(n,"toc",(function(){return u})),t.d(n,"default",(function(){return p}));var r=t(3),i=t(7),o=(t(0),t(255)),c={title:"Plugin Config"},a={unversionedId:"architecture-design/plugin-config",id:"architecture-design/plugin-config",isDocsHomePage:!1,title:"Plugin Config",description:"\x3c!--",source:"@site/docs [...]
\ No newline at end of file
diff --git a/assets/js/ef63a76e.f5b7f62b.js b/assets/js/ef63a76e.f5b7f62b.js
new file mode 100644
index 0000000..e9b5d54
--- /dev/null
+++ b/assets/js/ef63a76e.f5b7f62b.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[178],{246:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return c})),t.d(n,"metadata",(function(){return a})),t.d(n,"toc",(function(){return u})),t.d(n,"default",(function(){return p}));var r=t(3),i=t(8),o=(t(0),t(265)),c={title:"Plugin Config"},a={unversionedId:"architecture-design/plugin-config",id:"architecture-design/plugin-config",isDocsHomePage:!1,title:"Plugin Config",description:"\x3c!--",source:"@site/docs [...]
\ No newline at end of file
diff --git a/assets/js/f1d91454.de533a3d.js b/assets/js/f1d91454.de533a3d.js
new file mode 100644
index 0000000..5087e20
--- /dev/null
+++ b/assets/js/f1d91454.de533a3d.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[179],{247:function(e){e.exports=JSON.parse('{"pluginId":"docs-apisix-helm-chart","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"collapsed":true,"type":"category","label":"Installation","items":[{"type":"link","label":"Apache APISIX Helm Chart","href":"/docs/helm-chart/apisix"},{"type":"link","label":"Apache APISIX Dashboard Helm Chart","href":"/docs/helm-chart/apisix-dashboard"},{"type":"link","label":"Apach [...]
\ No newline at end of file
diff --git a/assets/js/f202f54b.b35d88ee.js b/assets/js/f202f54b.b35d88ee.js
new file mode 100644
index 0000000..19107c2
--- /dev/null
+++ b/assets/js/f202f54b.b35d88ee.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[180],{248:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return a})),t.d(n,"metadata",(function(){return c})),t.d(n,"toc",(function(){return l})),t.d(n,"default",(function(){return p}));var i=t(3),r=t(8),o=(t(0),t(265)),a={title:"Plugin"},c={unversionedId:"architecture-design/plugin",id:"architecture-design/plugin",isDocsHomePage:!1,title:"Plugin",description:"\x3c!--",source:"@site/docs/apisix/architecture-design/ [...]
\ No newline at end of file
diff --git a/assets/js/f202f54b.d3321997.js b/assets/js/f202f54b.d3321997.js
deleted file mode 100644
index e3a7e5e..0000000
--- a/assets/js/f202f54b.d3321997.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[170],{238:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return a})),t.d(n,"metadata",(function(){return c})),t.d(n,"toc",(function(){return l})),t.d(n,"default",(function(){return p}));var i=t(3),r=t(7),o=(t(0),t(255)),a={title:"Plugin"},c={unversionedId:"architecture-design/plugin",id:"architecture-design/plugin",isDocsHomePage:!1,title:"Plugin",description:"\x3c!--",source:"@site/docs/apisix/architecture-design/ [...]
\ No newline at end of file
diff --git a/assets/js/f243156b.2711cc34.js b/assets/js/f243156b.2711cc34.js
new file mode 100644
index 0000000..b023357
--- /dev/null
+++ b/assets/js/f243156b.2711cc34.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[181],{249:function(d){d.exports=JSON.parse('{"pluginId":"docs-apisix-dashboard","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Apache APISIX Dashboard","href":"https://apisix.apache.org/docs/dashboard/USER_GUIDE/"},{"collapsed":true,"type":"category","label":"Getting Started","items":[{"type":"link","label":"User Guide","href":"/docs/dashboard/USER_GUIDE"},{"type":"link","label":"Import [...]
\ No newline at end of file
diff --git a/assets/js/f243156b.46fa0740.js b/assets/js/f243156b.46fa0740.js
deleted file mode 100644
index c370fd5..0000000
--- a/assets/js/f243156b.46fa0740.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[171],{239:function(d){d.exports=JSON.parse('{"pluginId":"docs-apisix-dashboard","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Apache APISIX Dashboard","href":"https://apisix.apache.org/docs/dashboard/USER_GUIDE/"},{"collapsed":true,"type":"category","label":"Getting Started","items":[{"type":"link","label":"User Guide","href":"/docs/dashboard/USER_GUIDE"},{"type":"link","label":"Import [...]
\ No newline at end of file
diff --git a/assets/js/f45d06d8.ca462b04.js b/assets/js/f45d06d8.ca462b04.js
new file mode 100644
index 0000000..2a40f35
--- /dev/null
+++ b/assets/js/f45d06d8.ca462b04.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[182],{250:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return s})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return l})),r.d(t,"default",(function(){return p}));var n=r(3),o=r(8),a=(r(0),r(265)),s={title:"Getting Started"},i={unversionedId:"getting-started",id:"getting-started",isDocsHomePage:!1,title:"Getting Started",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/getti [...]
\ No newline at end of file
diff --git a/assets/js/f45d06d8.def398f4.js b/assets/js/f45d06d8.def398f4.js
deleted file mode 100644
index fc515c0..0000000
--- a/assets/js/f45d06d8.def398f4.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[172],{240:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return s})),r.d(t,"metadata",(function(){return i})),r.d(t,"toc",(function(){return l})),r.d(t,"default",(function(){return p}));var n=r(3),o=r(7),a=(r(0),r(255)),s={title:"Getting Started"},i={unversionedId:"getting-started",id:"getting-started",isDocsHomePage:!1,title:"Getting Started",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/getti [...]
\ No newline at end of file
diff --git a/assets/js/f4620fb6.7e3511ac.js b/assets/js/f4620fb6.7e3511ac.js
new file mode 100644
index 0000000..2ccacb6
--- /dev/null
+++ b/assets/js/f4620fb6.7e3511ac.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[183],{251:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return l}));var r=n(3),a=n(8),i=(n(0),n(265)),o={title:"ApisixTls"},c={unversionedId:"concepts/apisix_tls",id:"concepts/apisix_tls",isDocsHomePage:!1,title:"ApisixTls",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/concepts/ [...]
\ No newline at end of file
diff --git a/assets/js/f4620fb6.b37d7414.js b/assets/js/f4620fb6.b37d7414.js
deleted file mode 100644
index 1cb43aa..0000000
--- a/assets/js/f4620fb6.b37d7414.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[173],{241:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return l}));var r=n(3),a=n(7),i=(n(0),n(255)),o={title:"ApisixTls"},c={unversionedId:"concepts/apisix_tls",id:"concepts/apisix_tls",isDocsHomePage:!1,title:"ApisixTls",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/concepts/ [...]
\ No newline at end of file
diff --git a/assets/js/f6cd6006.409a5a8c.js b/assets/js/f6cd6006.409a5a8c.js
deleted file mode 100644
index f51ae3e..0000000
--- a/assets/js/f6cd6006.409a5a8c.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[174],{242:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),i=(n(0),n(255)),s={title:"Install Ingress APISIX on Azure AKS"},o={unversionedId:"deployments/azure",id:"deployments/azure",isDocsHomePage:!1,title:"Install Ingress APISIX on Azure AKS",description:"\x3c!--",source [...]
\ No newline at end of file
diff --git a/assets/js/f6cd6006.a8f5876a.js b/assets/js/f6cd6006.a8f5876a.js
new file mode 100644
index 0000000..047322b
--- /dev/null
+++ b/assets/js/f6cd6006.a8f5876a.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[184],{252:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(265)),s={title:"Install Ingress APISIX on Azure AKS"},o={unversionedId:"deployments/azure",id:"deployments/azure",isDocsHomePage:!1,title:"Install Ingress APISIX on Azure AKS",description:"\x3c!--",source [...]
\ No newline at end of file
diff --git a/assets/js/f7488fe8.ce816f16.js b/assets/js/f7488fe8.ce816f16.js
new file mode 100644
index 0000000..1410350
--- /dev/null
+++ b/assets/js/f7488fe8.ce816f16.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[185],{253:function(e){e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Release Apache APISIX 2.5","permalink":"/events/2021/04/05/release-apache-apisix-2.5"},{"title":"Release Apache APISIX Ingress Controller 0.4.0","permalink":"/events/2021/03/12/release-apache-apisix-ingress-controller-0.4.0"},{"title":"Release Apache APISIX 2.4","permalink":"/events/2021/03/05/release-apache-apisix-2.4"},{"title":"Release Apache APIS [...]
\ No newline at end of file
diff --git a/assets/js/f7488fe8.ee0ee040.js b/assets/js/f7488fe8.ee0ee040.js
deleted file mode 100644
index fac2584..0000000
--- a/assets/js/f7488fe8.ee0ee040.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[175],{243:function(e){e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Release Apache APISIX 2.5","permalink":"/events/2021/04/05/release-apache-apisix-2.5"},{"title":"Release Apache APISIX Ingress Controller 0.4.0","permalink":"/events/2021/03/12/release-apache-apisix-ingress-controller-0.4.0"},{"title":"Release Apache APISIX 2.4","permalink":"/events/2021/03/05/release-apache-apisix-2.4"},{"title":"Release Apache APIS [...]
\ No newline at end of file
diff --git a/assets/js/f7b3f6db.009492b8.js b/assets/js/f7b3f6db.009492b8.js
new file mode 100644
index 0000000..e851410
--- /dev/null
+++ b/assets/js/f7b3f6db.009492b8.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[186],{254:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return p})),a.d(t,"metadata",(function(){return c})),a.d(t,"toc",(function(){return l})),a.d(t,"default",(function(){return u}));var r=a(3),n=a(8),i=(a(0),a(265)),p={title:"Release Apache APISIX 2.4"},c={permalink:"/events/2021/03/05/release-apache-apisix-2.4",source:"@site/events/2021-03-05-release-apache-apisix-2.4.md",description:"Change",date:"2021-03-05T [...]
\ No newline at end of file
diff --git a/assets/js/f7b3f6db.067b76bb.js b/assets/js/f7b3f6db.067b76bb.js
deleted file mode 100644
index 07e3d8f..0000000
--- a/assets/js/f7b3f6db.067b76bb.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[176],{244:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return p})),a.d(t,"metadata",(function(){return c})),a.d(t,"toc",(function(){return l})),a.d(t,"default",(function(){return u}));var r=a(3),n=a(7),i=(a(0),a(255)),p={title:"Release Apache APISIX 2.4"},c={permalink:"/events/2021/03/05/release-apache-apisix-2.4",source:"@site/events/2021-03-05-release-apache-apisix-2.4.md",description:"Change",date:"2021-03-05T [...]
\ No newline at end of file
diff --git a/assets/js/f8217c69.1644d64f.js b/assets/js/f8217c69.1644d64f.js
new file mode 100644
index 0000000..2e612f6
--- /dev/null
+++ b/assets/js/f8217c69.1644d64f.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[187],{255:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return i})),a.d(t,"metadata",(function(){return b})),a.d(t,"toc",(function(){return c})),a.d(t,"default",(function(){return p}));var n=a(3),r=a(8),l=(a(0),a(265)),i={title:"ApisixUpstream Reference"},b={unversionedId:"references/apisix_upstream",id:"references/apisix_upstream",isDocsHomePage:!1,title:"ApisixUpstream Reference",description:"\x3c!--",source:"@s [...]
\ No newline at end of file
diff --git a/assets/js/f8217c69.5dd9b071.js b/assets/js/f8217c69.5dd9b071.js
deleted file mode 100644
index c2af2ce..0000000
--- a/assets/js/f8217c69.5dd9b071.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[177],{245:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return i})),a.d(t,"metadata",(function(){return b})),a.d(t,"toc",(function(){return c})),a.d(t,"default",(function(){return p}));var n=a(3),r=a(7),l=(a(0),a(255)),i={title:"ApisixUpstream Reference"},b={unversionedId:"references/apisix_upstream",id:"references/apisix_upstream",isDocsHomePage:!1,title:"ApisixUpstream Reference",description:"\x3c!--",source:"@s [...]
\ No newline at end of file
diff --git a/assets/js/fa919c95.9a3b6b8c.js b/assets/js/fa919c95.9a3b6b8c.js
new file mode 100644
index 0000000..6cc9ddc
--- /dev/null
+++ b/assets/js/fa919c95.9a3b6b8c.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[188],{256:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return c})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return p}));var n=t(3),a=t(8),o=(t(0),t(265)),c={title:"Release Apache APISIX Ingress Controller 0.1.0"},i={permalink:"/events/2020/12/23/release-apache-apisix-ingress-controller-0.1.0",source:"@site/events/2020-12-23-release-apache-apisix-ingr [...]
\ No newline at end of file
diff --git a/assets/js/fa919c95.cc60b3c2.js b/assets/js/fa919c95.cc60b3c2.js
deleted file mode 100644
index fb82435..0000000
--- a/assets/js/fa919c95.cc60b3c2.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[178],{246:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return c})),t.d(r,"metadata",(function(){return i})),t.d(r,"toc",(function(){return s})),t.d(r,"default",(function(){return p}));var n=t(3),a=t(7),o=(t(0),t(255)),c={title:"Release Apache APISIX Ingress Controller 0.1.0"},i={permalink:"/events/2020/12/23/release-apache-apisix-ingress-controller-0.1.0",source:"@site/events/2020-12-23-release-apache-apisix-ingr [...]
\ No newline at end of file
diff --git a/assets/js/fd72aa65.8da8d664.js b/assets/js/fd72aa65.8da8d664.js
deleted file mode 100644
index 6256244..0000000
--- a/assets/js/fd72aa65.8da8d664.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[179],{247:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return a})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return l}));var n=r(3),i=r(7),o=(r(0),r(255)),c={title:"Ingress APISIX Use Examples"},a={unversionedId:"practices/index",id:"practices/index",isDocsHomePage:!1,title:"Ingress APISIX Use Examples",description:"\x3c!--",source:"@site/docs/apisix- [...]
\ No newline at end of file
diff --git a/assets/js/fd72aa65.bc4af9fa.js b/assets/js/fd72aa65.bc4af9fa.js
new file mode 100644
index 0000000..66abc8d
--- /dev/null
+++ b/assets/js/fd72aa65.bc4af9fa.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[189],{257:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return a})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return l}));var n=r(3),i=r(8),o=(r(0),r(265)),c={title:"Ingress APISIX Use Examples"},a={unversionedId:"practices/index",id:"practices/index",isDocsHomePage:!1,title:"Ingress APISIX Use Examples",description:"\x3c!--",source:"@site/docs/apisix- [...]
\ No newline at end of file
diff --git a/assets/js/ff8d1795.2b668ec8.js b/assets/js/ff8d1795.2b668ec8.js
deleted file mode 100644
index 6c8dee6..0000000
--- a/assets/js/ff8d1795.2b668ec8.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[180],{248:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return i})),t.d(n,"metadata",(function(){return c})),t.d(n,"toc",(function(){return l})),t.d(n,"default",(function(){return s}));var r=t(3),a=t(7),o=(t(0),t(255)),i={title:"Control API"},c={unversionedId:"control-api",id:"control-api",isDocsHomePage:!1,title:"Control API",description:"\x3c!--",source:"@site/docs/apisix/control-api.md",slug:"/control-api",perm [...]
\ No newline at end of file
diff --git a/assets/js/ff8d1795.396aceed.js b/assets/js/ff8d1795.396aceed.js
new file mode 100644
index 0000000..87e44bf
--- /dev/null
+++ b/assets/js/ff8d1795.396aceed.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[190],{258:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return i})),t.d(n,"metadata",(function(){return c})),t.d(n,"toc",(function(){return l})),t.d(n,"default",(function(){return s}));var r=t(3),a=t(8),o=(t(0),t(265)),i={title:"Control API"},c={unversionedId:"control-api",id:"control-api",isDocsHomePage:!1,title:"Control API",description:"\x3c!--",source:"@site/docs/apisix/control-api.md",slug:"/control-api",perm [...]
\ No newline at end of file
diff --git a/assets/js/main.870ee703.js b/assets/js/main.870ee703.js
new file mode 100644
index 0000000..df8fc8a
--- /dev/null
+++ b/assets/js/main.870ee703.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.870ee703.js.LICENSE.txt */
+(window.webpackJsonp=window.webpackJsonp||[]).push([[191],[function(e,t,n){"use strict";e.exports=n(38)},function(e,t,n){e.exports=n(42)()},function(e,t,n){"use strict";n.d(t,"a",(function(){return v})),n.d(t,"b",(function(){return w})),n.d(t,"c",(function(){return S})),n.d(t,"d",(function(){return O})),n.d(t,"e",(function(){return b})),n.d(t,"f",(function(){return j})),n.d(t,"g",(function(){return L})),n.d(t,"h",(function(){return g})),n.d(t,"i",(function(){return E})),n.d(t,"j",(functi [...]
\ No newline at end of file
diff --git a/zh/assets/js/main.1ed3b37c.js.LICENSE.txt b/assets/js/main.870ee703.js.LICENSE.txt
similarity index 100%
rename from zh/assets/js/main.1ed3b37c.js.LICENSE.txt
rename to assets/js/main.870ee703.js.LICENSE.txt
diff --git a/assets/js/main.f4eaff19.js b/assets/js/main.f4eaff19.js
deleted file mode 100644
index 02d567e..0000000
--- a/assets/js/main.f4eaff19.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.f4eaff19.js.LICENSE.txt */
-(window.webpackJsonp=window.webpackJsonp||[]).push([[181],[function(e,t,n){"use strict";e.exports=n(38)},function(e,t,n){e.exports=n(42)()},function(e,t,n){"use strict";n.d(t,"a",(function(){return v})),n.d(t,"b",(function(){return w})),n.d(t,"c",(function(){return S})),n.d(t,"d",(function(){return O})),n.d(t,"e",(function(){return b})),n.d(t,"f",(function(){return L})),n.d(t,"g",(function(){return j})),n.d(t,"h",(function(){return g})),n.d(t,"i",(function(){return E})),n.d(t,"j",(functi [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.03424be9.js b/assets/js/runtime~main.03424be9.js
new file mode 100644
index 0000000..ab51426
--- /dev/null
+++ b/assets/js/runtime~main.03424be9.js
@@ -0,0 +1 @@
+!function(e){function f(f){for(var b,r,t=f[0],n=f[1],o=f[2],u=0,l=[];u<t.length;u++)r=t[u],Object.prototype.hasOwnProperty.call(c,r)&&c[r]&&l.push(c[r][0]),c[r]=0;for(b in n)Object.prototype.hasOwnProperty.call(n,b)&&(e[b]=n[b]);for(i&&i(f);l.length;)l.shift()();return d.push.apply(d,o||[]),a()}function a(){for(var e,f=0;f<d.length;f++){for(var a=d[f],b=!0,r=1;r<a.length;r++){var n=a[r];0!==c[n]&&(b=!1)}b&&(d.splice(f--,1),e=t(t.s=a[0]))}return e}var b={},c={192:0},d=[];function r(e){ret [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.1b59a140.js b/assets/js/runtime~main.1b59a140.js
deleted file mode 100644
index c2616ee..0000000
--- a/assets/js/runtime~main.1b59a140.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(e){function a(a){for(var d,r,t=a[0],n=a[1],o=a[2],u=0,l=[];u<t.length;u++)r=t[u],Object.prototype.hasOwnProperty.call(c,r)&&c[r]&&l.push(c[r][0]),c[r]=0;for(d in n)Object.prototype.hasOwnProperty.call(n,d)&&(e[d]=n[d]);for(i&&i(a);l.length;)l.shift()();return b.push.apply(b,o||[]),f()}function f(){for(var e,a=0;a<b.length;a++){for(var f=b[a],d=!0,r=1;r<f.length;r++){var n=f[r];0!==c[n]&&(d=!1)}d&&(b.splice(a--,1),e=t(t.s=f[0]))}return e}var d={},c={182:0},b=[];function r(e){ret [...]
\ No newline at end of file
diff --git a/assets/js/styles.f44d8aad.js b/assets/js/styles.f44d8aad.js
new file mode 100644
index 0000000..d53153b
--- /dev/null
+++ b/assets/js/styles.f44d8aad.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{193:function(e,o,n){e.exports={blogPostTitle:"blogPostTitle_GeHD",blogPostDate:"blogPostDate_fNvV"}},194:function(e,o,n){e.exports={sidebar:"sidebar_2ahu",sidebarItemTitle:"sidebarItemTitle_2hhb",sidebarItemList:"sidebarItemList_2xAf",sidebarItem:"sidebarItem_2UVv",sidebarItemLink:"sidebarItemLink_1RT6",sidebarItemLinkActive:"sidebarItemLinkActive_12pM"}},241:function(e,o,n){e.exports={searchQueryInput:"searchQueryInput_35WP",searc [...]
\ No newline at end of file
diff --git a/assets/js/styles.f56fa583.js b/assets/js/styles.f56fa583.js
deleted file mode 100644
index 3a82f14..0000000
--- a/assets/js/styles.f56fa583.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{187:function(e,o,n){e.exports={blogPostTitle:"blogPostTitle_GeHD",blogPostDate:"blogPostDate_fNvV"}},188:function(e,o,n){e.exports={sidebar:"sidebar_2ahu",sidebarItemTitle:"sidebarItemTitle_2hhb",sidebarItemList:"sidebarItemList_2xAf",sidebarItem:"sidebarItem_2UVv",sidebarItemLink:"sidebarItemLink_1RT6",sidebarItemLinkActive:"sidebarItemLinkActive_12pM"}},232:function(e,o,n){e.exports={searchQueryInput:"searchQueryInput_35WP",searc [...]
\ No newline at end of file
diff --git a/blog/2020/08/22/new-website/index.html b/blog/2020/08/22/new-website/index.html
index 81f2455..e35a3a7 100644
--- a/blog/2020/08/22/new-website/index.html
+++ b/blog/2020/08/22/new-website/index.html
@@ -15,27 +15,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">New website for Apache APISIX | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="New website for Apache APISIX | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="We are just refactored out website for Apache APISIX by using docusaurus."><meta data-react-helmet="true" name="t [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
-<link rel="preload" href="/assets/js/ccc49370.b6148211.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/4.40808762.js" as="script">
+<link rel="preload" href="/assets/js/ccc49370.e61c2657.js" as="script">
 <link rel="preload" href="/assets/js/2d8fe9ee.406a866d.js" as="script">
-<link rel="preload" href="/assets/js/a6641250.0fe42427.js" as="script">
+<link rel="preload" href="/assets/js/a6641250.64a94a40.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/4.bed3a1bc.js"></script>
-<script src="/assets/js/ccc49370.b6148211.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/4.40808762.js"></script>
+<script src="/assets/js/ccc49370.e61c2657.js"></script>
 <script src="/assets/js/2d8fe9ee.406a866d.js"></script>
-<script src="/assets/js/a6641250.0fe42427.js"></script>
+<script src="/assets/js/a6641250.64a94a40.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 bebe90c..db64108 100644
--- a/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
+++ b/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
@@ -15,29 +15,29 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Envoy and Apache APISIX: Another way to implement the Envoy filter | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Envoy and Apache APISIX: Another way to implement the Envoy filter | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@nic-chen, Apache APISIX PMC from Shenz [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
-<link rel="preload" href="/assets/js/ccc49370.b6148211.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/4.40808762.js" as="script">
+<link rel="preload" href="/assets/js/ccc49370.e61c2657.js" as="script">
 <link rel="preload" href="/assets/js/2d8fe9ee.406a866d.js" as="script">
-<link rel="preload" href="/assets/js/749ed826.a41b9848.js" as="script">
+<link rel="preload" href="/assets/js/749ed826.91e785fe.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 A pluggable filter chain mechanism allows filters to be written to perform different tasks and inserted into the main server.</p><p><img src="https://static.apiseven.com/filters.png" alt="Envoy filter"></p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="expansion-method"></a>Expansion method<a class="hash-link" href="#expansion-method" title="Direct link to heading">#</a></h3><p>The existing filters may not meet the user&#x27;s custom requirements. In this case, Envoy needs to [...]
 In the example, we configured plugin <code>uri-blocker</code> for the route whose prefix is ​​<code>/foo</code>, as well as the block rule of the plugin and the response status when a block is required.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="second-step-parse-request"></a>Second step, parse request<a class="hash-link" href="#second-step-parse-request" title="Direct link to heading">#</a></h4><p>We encapsulated the client request data into <code>ctx</code> so that i [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/4.bed3a1bc.js"></script>
-<script src="/assets/js/ccc49370.b6148211.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/4.40808762.js"></script>
+<script src="/assets/js/ccc49370.e61c2657.js"></script>
 <script src="/assets/js/2d8fe9ee.406a866d.js"></script>
-<script src="/assets/js/749ed826.a41b9848.js"></script>
+<script src="/assets/js/749ed826.91e785fe.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html b/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html
index 28d15c9..987755e 100644
--- a/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html
+++ b/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html
@@ -15,27 +15,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">初探 Kubernetes Service APIs | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="初探 Kubernetes Service APIs | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@gxthrj, Apache APISIX PMC &amp; Apache apisix-ingress-controller Founder from Shenzhen Zhiliu Technology Co."><meta da [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
-<link rel="preload" href="/assets/js/ccc49370.b6148211.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/4.40808762.js" as="script">
+<link rel="preload" href="/assets/js/ccc49370.e61c2657.js" as="script">
 <link rel="preload" href="/assets/js/2d8fe9ee.406a866d.js" as="script">
-<link rel="preload" href="/assets/js/a4a2cefa.67b7bdf7.js" as="script">
+<link rel="preload" href="/assets/js/a4a2cefa.b00136ad.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/4.bed3a1bc.js"></script>
-<script src="/assets/js/ccc49370.b6148211.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/4.40808762.js"></script>
+<script src="/assets/js/ccc49370.e61c2657.js"></script>
 <script src="/assets/js/2d8fe9ee.406a866d.js"></script>
-<script src="/assets/js/a4a2cefa.67b7bdf7.js"></script>
+<script src="/assets/js/a4a2cefa.b00136ad.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 6382a0b..a42d2ab 100644
--- a/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
+++ b/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
@@ -15,28 +15,28 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Run Ingress APISIX on Amazon EKS | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Run Ingress APISIX on Amazon EKS | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@Chao Zhang, Apache APISIX Committer from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
-<link rel="preload" href="/assets/js/ccc49370.b6148211.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/4.40808762.js" as="script">
+<link rel="preload" href="/assets/js/ccc49370.e61c2657.js" as="script">
 <link rel="preload" href="/assets/js/2d8fe9ee.406a866d.js" as="script">
-<link rel="preload" href="/assets/js/1c89ab3b.3de84c7d.js" as="script">
+<link rel="preload" href="/assets/js/1c89ab3b.87c16304.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;headers&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 107)">:</span><span class="token plain"> </span><span c [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/4.bed3a1bc.js"></script>
-<script src="/assets/js/ccc49370.b6148211.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/4.40808762.js"></script>
+<script src="/assets/js/ccc49370.e61c2657.js"></script>
 <script src="/assets/js/2d8fe9ee.406a866d.js"></script>
-<script src="/assets/js/1c89ab3b.3de84c7d.js"></script>
+<script src="/assets/js/1c89ab3b.87c16304.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 19ce75d..d235253 100644
--- a/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
+++ b/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
@@ -15,27 +15,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stable Product Delivery with Cypress | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Stable Product Delivery with Cypress | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@LiteSun, Apache APISIX Committer from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="tru [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
-<link rel="preload" href="/assets/js/ccc49370.b6148211.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/4.40808762.js" as="script">
+<link rel="preload" href="/assets/js/ccc49370.e61c2657.js" as="script">
 <link rel="preload" href="/assets/js/2d8fe9ee.406a866d.js" as="script">
-<link rel="preload" href="/assets/js/47e0bf55.cf9d07f0.js" as="script">
+<link rel="preload" href="/assets/js/47e0bf55.822e4208.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/4.bed3a1bc.js"></script>
-<script src="/assets/js/ccc49370.b6148211.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/4.40808762.js"></script>
+<script src="/assets/js/ccc49370.e61c2657.js"></script>
 <script src="/assets/js/2d8fe9ee.406a866d.js"></script>
-<script src="/assets/js/47e0bf55.cf9d07f0.js"></script>
+<script src="/assets/js/47e0bf55.822e4208.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 a0941ef..6611e52 100644
--- a/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
+++ b/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
@@ -15,29 +15,29 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Apache APISIX from Helm Charts | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Install Apache APISIX from Helm Charts | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@tokers, Apache APISIX Committer from Shenzhen Zhiliu Technology Co."><meta data-react-helmet=" [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
-<link rel="preload" href="/assets/js/ccc49370.b6148211.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/4.40808762.js" as="script">
+<link rel="preload" href="/assets/js/ccc49370.e61c2657.js" as="script">
 <link rel="preload" href="/assets/js/2d8fe9ee.406a866d.js" as="script">
-<link rel="preload" href="/assets/js/96ff6680.22acbec5.js" as="script">
+<link rel="preload" href="/assets/js/96ff6680.164b92b6.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAME                    CHART VERSION   APP VERSION     DESCRIPTION</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">apisix/apisix           0.1.2           2.1.0           A Helm chart for Apache APISIX</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">apisix/apisix-dashboard 0.1.0           2.3.0           A Helm chart for Apache APIS [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAME: apisix-gw</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">LAST DEPLOYED: Fri Feb 19 11:34:14 2021</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAMESPACE: default</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">STATUS: deployed</span></div><div class="token-line" style="color:#bfc7d5"><span [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/4.bed3a1bc.js"></script>
-<script src="/assets/js/ccc49370.b6148211.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/4.40808762.js"></script>
+<script src="/assets/js/ccc49370.e61c2657.js"></script>
 <script src="/assets/js/2d8fe9ee.406a866d.js"></script>
-<script src="/assets/js/96ff6680.22acbec5.js"></script>
+<script src="/assets/js/96ff6680.164b92b6.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 a8dd5ad..6c79091 100644
--- a/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html
+++ b/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html
@@ -15,27 +15,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Get Front-End Test Coverage with Cypress | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Get Front-End Test Coverage with Cypress | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@LiteSun, Apache APISIX Committer from Shenzhen Zhiliu Technology Co."><meta data-react-hel [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
-<link rel="preload" href="/assets/js/ccc49370.b6148211.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/4.40808762.js" as="script">
+<link rel="preload" href="/assets/js/ccc49370.e61c2657.js" as="script">
 <link rel="preload" href="/assets/js/2d8fe9ee.406a866d.js" as="script">
-<link rel="preload" href="/assets/js/5aca9bfb.8eeb1a37.js" as="script">
+<link rel="preload" href="/assets/js/5aca9bfb.f05548c4.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/4.bed3a1bc.js"></script>
-<script src="/assets/js/ccc49370.b6148211.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/4.40808762.js"></script>
+<script src="/assets/js/ccc49370.e61c2657.js"></script>
 <script src="/assets/js/2d8fe9ee.406a866d.js"></script>
-<script src="/assets/js/5aca9bfb.8eeb1a37.js"></script>
+<script src="/assets/js/5aca9bfb.f05548c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/03/27/traffic-split-in-apache-apisix-ingress-controller/index.html b/blog/2021/03/27/traffic-split-in-apache-apisix-ingress-controller/index.html
index dbc44b5..e6660a3 100644
--- a/blog/2021/03/27/traffic-split-in-apache-apisix-ingress-controller/index.html
+++ b/blog/2021/03/27/traffic-split-in-apache-apisix-ingress-controller/index.html
@@ -15,27 +15,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Traffic Split in Apache APISIX Ingress Controller | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Traffic Split in Apache APISIX Ingress Controller | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="Traffic Split is a feature that splits and deliveries traffic to multiple [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
-<link rel="preload" href="/assets/js/ccc49370.b6148211.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/4.40808762.js" as="script">
+<link rel="preload" href="/assets/js/ccc49370.e61c2657.js" as="script">
 <link rel="preload" href="/assets/js/2d8fe9ee.406a866d.js" as="script">
-<link rel="preload" href="/assets/js/2ceea113.0367f1b3.js" as="script">
+<link rel="preload" href="/assets/js/2ceea113.6092656a.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/4.bed3a1bc.js"></script>
-<script src="/assets/js/ccc49370.b6148211.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/4.40808762.js"></script>
+<script src="/assets/js/ccc49370.e61c2657.js"></script>
 <script src="/assets/js/2d8fe9ee.406a866d.js"></script>
-<script src="/assets/js/2ceea113.0367f1b3.js"></script>
+<script src="/assets/js/2ceea113.6092656a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/index.html b/blog/index.html
index 4cd45dc..cb0b260 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -15,43 +15,43 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="Blog"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apa [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
-<link rel="preload" href="/assets/js/a6aa9e1f.60f16021.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/4.40808762.js" as="script">
+<link rel="preload" href="/assets/js/a6aa9e1f.76f2b1ba.js" as="script">
 <link rel="preload" href="/assets/js/2d8fe9ee.406a866d.js" as="script">
-<link rel="preload" href="/assets/js/5426aede.a0461816.js" as="script">
-<link rel="preload" href="/assets/js/a06dfdd3.b105299e.js" as="script">
-<link rel="preload" href="/assets/js/e1a3b18d.a9e5db45.js" as="script">
-<link rel="preload" href="/assets/js/e451ae2c.eacb8c12.js" as="script">
-<link rel="preload" href="/assets/js/514de2af.4feffba1.js" as="script">
-<link rel="preload" href="/assets/js/5bb67ffc.bc7c83bd.js" as="script">
-<link rel="preload" href="/assets/js/e02da2c5.d05e8e87.js" as="script">
-<link rel="preload" href="/assets/js/37e3b3ea.8e287a16.js" as="script">
-<link rel="preload" href="/assets/js/b2b675dd.af75ded3.js" as="script">
+<link rel="preload" href="/assets/js/5426aede.656943f6.js" as="script">
+<link rel="preload" href="/assets/js/a06dfdd3.0dae3263.js" as="script">
+<link rel="preload" href="/assets/js/e1a3b18d.32be2215.js" as="script">
+<link rel="preload" href="/assets/js/e451ae2c.5bd28541.js" as="script">
+<link rel="preload" href="/assets/js/514de2af.b7e815e3.js" as="script">
+<link rel="preload" href="/assets/js/5bb67ffc.65ddfe33.js" as="script">
+<link rel="preload" href="/assets/js/e02da2c5.dcf1673e.js" as="script">
+<link rel="preload" href="/assets/js/37e3b3ea.f33716de.js" as="script">
+<link rel="preload" href="/assets/js/b2b675dd.c0f6b8df.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/4.bed3a1bc.js"></script>
-<script src="/assets/js/a6aa9e1f.60f16021.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/4.40808762.js"></script>
+<script src="/assets/js/a6aa9e1f.76f2b1ba.js"></script>
 <script src="/assets/js/2d8fe9ee.406a866d.js"></script>
-<script src="/assets/js/5426aede.a0461816.js"></script>
-<script src="/assets/js/a06dfdd3.b105299e.js"></script>
-<script src="/assets/js/e1a3b18d.a9e5db45.js"></script>
-<script src="/assets/js/e451ae2c.eacb8c12.js"></script>
-<script src="/assets/js/514de2af.4feffba1.js"></script>
-<script src="/assets/js/5bb67ffc.bc7c83bd.js"></script>
-<script src="/assets/js/e02da2c5.d05e8e87.js"></script>
-<script src="/assets/js/37e3b3ea.8e287a16.js"></script>
-<script src="/assets/js/b2b675dd.af75ded3.js"></script>
+<script src="/assets/js/5426aede.656943f6.js"></script>
+<script src="/assets/js/a06dfdd3.0dae3263.js"></script>
+<script src="/assets/js/e1a3b18d.32be2215.js"></script>
+<script src="/assets/js/e451ae2c.5bd28541.js"></script>
+<script src="/assets/js/514de2af.b7e815e3.js"></script>
+<script src="/assets/js/5bb67ffc.65ddfe33.js"></script>
+<script src="/assets/js/e02da2c5.dcf1673e.js"></script>
+<script src="/assets/js/37e3b3ea.f33716de.js"></script>
+<script src="/assets/js/b2b675dd.c0f6b8df.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/FAQ/index.html b/docs/apisix/FAQ/index.html
index 418ca53..c01c666 100644
--- a/docs/apisix/FAQ/index.html
+++ b/docs/apisix/FAQ/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apisix [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/162a65a3.5e32392e.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/162a65a3.7b605a7c.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -35,14 +35,14 @@ For China mainland users, you can use the <code>luarocks.cn</code> as the luaroc
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">&lt;html&gt;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">&lt;head&gt;&lt;title&gt;301 Moved Permanently&lt;/title&gt;&lt;/head&gt;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">&lt;body&gt;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">&lt;center&gt;&lt;h1&gt;301 Moved Permanently&lt;/h1&gt [...]
 See the <code>Hot reload</code> section in <a href="/docs/apisix/plugins">plugins</a> for how to do that.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests"></a>How to make APISIX listen on multiple ports when handling HTTP or HTTPS requests?<a class="hash-link" href="#how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests" title="Direct link to heading">#</a></h2><p>By  [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># The uri match failed</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/12ab -i</span></div><div class="token-line" style="c [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/162a65a3.5e32392e.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/162a65a3.7b605a7c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/IGNORE_DOC/index.html b/docs/apisix/IGNORE_DOC/index.html
index 7770799..e5c233b 100644
--- a/docs/apisix/IGNORE_DOC/index.html
+++ b/docs/apisix/IGNORE_DOC/index.html
@@ -15,27 +15,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/601c6eaa.72dca6af.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/601c6eaa.98f6479c.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/601c6eaa.72dca6af.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/601c6eaa.98f6479c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/admin-api/index.html b/docs/apisix/admin-api/index.html
index 1b24f63..2a8ccc6 100644
--- a/docs/apisix/admin-api/index.html
+++ b/docs/apisix/admin-api/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Admin API | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs- [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/1bc24c0d.02592ee5.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/1bc24c0d.ee0dbd4b.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -88,14 +88,14 @@
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token punctuatio [...]
 Therefore it is the backup of <code>127.0.0.1</code>.</p><blockquote><p>Response Parameters</p></blockquote><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="ssl"></a>SSL<a class="hash-link" href="#ssl" title="Direct link to heading">#</a></h2><p><em>API</em>:/apisix/admin/ssl/{id}</p><p><em>Description</em>:SSL.</p><blockquote><p>Request Methods:</p></blockquote><table><thead><tr><th>M [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;http://127.0.0.1:9080/apisix/admin/plugins/key-auth&quot;</span><span class="token plain"> -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><s [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/1bc24c0d.02592ee5.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/1bc24c0d.ee0dbd4b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/apisix/index.html b/docs/apisix/architecture-design/apisix/index.html
index df45479..44518f8 100644
--- a/docs/apisix/architecture-design/apisix/index.html
+++ b/docs/apisix/architecture-design/apisix/index.html
@@ -15,29 +15,29 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">APISIX | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-api [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/92b07c7e.29dc6594.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/92b07c7e.af459b5b.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 and keep other configurations as default. The configuration in <code>config.yaml</code> should be like this:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">apisix</span><span class="token punctuation" style="color:rgb(199, 146, 234) [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token key atrule">etcd</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  </span><span class="token key atrule">host</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> </span><span class="tok [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/92b07c7e.29dc6594.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/92b07c7e.af459b5b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/consumer/index.html b/docs/apisix/architecture-design/consumer/index.html
index 6790b8f..a82a8e6 100644
--- a/docs/apisix/architecture-design/consumer/index.html
+++ b/docs/apisix/architecture-design/consumer/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Consumer | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-a [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/ec546d2e.99098154.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/ec546d2e.32a5fff4.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -35,14 +35,14 @@
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Use the <a href="/docs/apisix/plugins/consumer-restriction">consumer-restriction</a> plug-in to restrict the access of Jack to this API.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-colo [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># Repeated tests, all return 403; Jack is forbidden to access this API</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/he [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/architecture-design/consumer.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_ [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/ec546d2e.99098154.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/ec546d2e.32a5fff4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/debug-mode/index.html b/docs/apisix/architecture-design/debug-mode/index.html
index 06cbd17..1e52710 100644
--- a/docs/apisix/architecture-design/debug-mode/index.html
+++ b/docs/apisix/architecture-design/debug-mode/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Mode | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/91ce05ef.76fa49c1.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/91ce05ef.077b5d37.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,14 +31,14 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">hello world</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>If the information can be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker reads the <code>#END</code> flag, and the file  [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token key atrule">hook_phase</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> </span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  </span [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/91ce05ef.76fa49c1.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/91ce05ef.077b5d37.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/global-rule/index.html b/docs/apisix/architecture-design/global-rule/index.html
index 2d66f3a..e5e9986 100644
--- a/docs/apisix/architecture-design/global-rule/index.html
+++ b/docs/apisix/architecture-design/global-rule/index.html
@@ -15,28 +15,28 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Global rule | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-doc [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/2b03a116.4e765717.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/2b03a116.a3257073.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 We can register a global <a href="/docs/apisix/architecture-design/plugin">Plugin</a> with <code>GlobalRule</code>:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/2b03a116.4e765717.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/2b03a116.a3257073.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/plugin-config/index.html b/docs/apisix/architecture-design/plugin-config/index.html
index 048fe7c..f871ef6 100644
--- a/docs/apisix/architecture-design/plugin-config/index.html
+++ b/docs/apisix/architecture-design/plugin-config/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Config | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-d [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/ef63a76e.88e294a9.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/ef63a76e.f5b7f62b.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,14 +31,14 @@
 bind it with a route directly.</p><p>For instance, you can do something like:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># create a plugin config</span><span class="token plain">< [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># bind it to route</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span><span class="token str [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-undefined codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">{</span></div><div class [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/ef63a76e.88e294a9.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/ef63a76e.f5b7f62b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/plugin/index.html b/docs/apisix/architecture-design/plugin/index.html
index 2d7fed1..3979347 100644
--- a/docs/apisix/architecture-design/plugin/index.html
+++ b/docs/apisix/architecture-design/plugin/index.html
@@ -15,27 +15,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-api [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/f202f54b.d3321997.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/f202f54b.b35d88ee.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/f202f54b.d3321997.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/f202f54b.b35d88ee.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/route/index.html b/docs/apisix/architecture-design/route/index.html
index 74e2af7..3f2be77 100644
--- a/docs/apisix/architecture-design/route/index.html
+++ b/docs/apisix/architecture-design/route/index.html
@@ -15,29 +15,29 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Route | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apis [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/89d0b30c.252cf278.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/89d0b30c.1c529742.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:rgb(247, 140, 108)">201</span><span class="token plain"> Created</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Date: Sat, </span><span class="token number" style="color:rgb(247, 140, 108)">31</span><span class="token plain"> Aug </span><span class="token number" style="color:rgb(247, 140, 108)">2019</span><span  [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;value&quot;</span><span class="token plain">:</span><span class="token  [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/89d0b30c.252cf278.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/89d0b30c.1c529742.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/router/index.html b/docs/apisix/architecture-design/router/index.html
index e88e002..c9b2bea 100644
--- a/docs/apisix/architecture-design/router/index.html
+++ b/docs/apisix/architecture-design/router/index.html
@@ -15,27 +15,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-api [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/8b956bd2.07835c11.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/8b956bd2.2f5d566d.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/8b956bd2.07835c11.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/8b956bd2.2f5d566d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/script/index.html b/docs/apisix/architecture-design/script/index.html
index 56cb580..8fc419b 100644
--- a/docs/apisix/architecture-design/script/index.html
+++ b/docs/apisix/architecture-design/script/index.html
@@ -15,27 +15,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Script | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-api [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/0dc3e78d.a9a2f6c8.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/0dc3e78d.55f89cc1.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/0dc3e78d.a9a2f6c8.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/0dc3e78d.55f89cc1.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/service/index.html b/docs/apisix/architecture-design/service/index.html
index afbbb33..5deb0c5 100644
--- a/docs/apisix/architecture-design/service/index.html
+++ b/docs/apisix/architecture-design/service/index.html
@@ -15,29 +15,29 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Service | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-ap [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/dcb3fc1e.d7d38f43.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/dcb3fc1e.3c1fe1c2.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># create new Route and reference the service by id `200`</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/route [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/101 -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;</span></div [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/dcb3fc1e.d7d38f43.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/dcb3fc1e.3c1fe1c2.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/upstream/index.html b/docs/apisix/architecture-design/upstream/index.html
index c24aa16..d3f777e 100644
--- a/docs/apisix/architecture-design/upstream/index.html
+++ b/docs/apisix/architecture-design/upstream/index.html
@@ -15,27 +15,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Upstream | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-a [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/e5ad0cc6.b9844ca8.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/e5ad0cc6.11d6bff1.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/e5ad0cc6.b9844ca8.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/e5ad0cc6.11d6bff1.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/aws/index.html b/docs/apisix/aws/index.html
index 0ad61c8..f560f12 100644
--- a/docs/apisix/aws/index.html
+++ b/docs/apisix/aws/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Running APISIX in AWS with AWS CDK | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/71950930.60c64aff.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/71950930.ba56a627.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -50,14 +50,14 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Non-authoritative answer:</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Name:   apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Address: </span><span class="token number" style="color:rgb(247, 140, 108)">44.224</span><span class="token plain">.124.213</span></div [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-service.png">
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-route.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="validation"></a>Validation<a class="hash-link" href="#validation" title="Direct link to heading">#</a></h2><p>OK. Let&#x27;s test the <code>/index.php</code> on <code>{apiSix.ApiSixServiceServiceURL}/index.php</code></p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-caddy-php-we [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/71950930.60c64aff.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/71950930.ba56a627.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/batch-processor/index.html b/docs/apisix/batch-processor/index.html
index b241acb..a49caaf 100644
--- a/docs/apisix/batch-processor/index.html
+++ b/docs/apisix/batch-processor/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Batch Processor | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/4f7f961a.e27acfd2.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/4f7f961a.fd3b2a83.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -38,14 +38,14 @@ argument and the batch configuration as the second parameter.</p><div class="mdx
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">if batch_processor then</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    batch_processor:push({hello=&#x27;world&#x27;})</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">end</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Note: Please make sure th [...]
 The timer to flush the batch runs based on the <code>inactive_timeout</code> configuration. Thus, for optimal usage,
 keep the <code>inactive_timeout</code> smaller than the <code>buffer_duration</code>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/batch-processor.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3 [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/4f7f961a.e27acfd2.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/4f7f961a.fd3b2a83.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/benchmark/index.html b/docs/apisix/benchmark/index.html
index 626089a..d89a7d0 100644
--- a/docs/apisix/benchmark/index.html
+++ b/docs/apisix/benchmark/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Benchmark | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs- [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/5381c375.5059970c.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/5381c375.f41c5426.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,14 +33,14 @@ and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class=
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-1.jpg" alt="flamegraph-1"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" st [...]
 and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="qps-1"></a>QPS<a class="hash-link" href="#qps-1" title="Direct link to heading">#</a></h4><p>The x-axis means the size of CPU core, and the y-axis is QPS.</p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/benchmark-2.jpg" alt="benchmark-2"></p><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="latency-1"></a>Latency<a class="hash-link" href="#latenc [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-2.jpg" alt="flamegraph-2"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" st [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/5381c375.5059970c.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/5381c375.f41c5426.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/control-api/index.html b/docs/apisix/control-api/index.html
index 9c0028f..e726d9e 100644
--- a/docs/apisix/control-api/index.html
+++ b/docs/apisix/control-api/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Control API | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-doc [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/ff8d1795.2b668ec8.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/ff8d1795.396aceed.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,14 +33,14 @@ If a plugin adds such a control API, please refer to each plugin&#x27;s document
 of fields like <code>consumer_schema</code> or <code>type</code>, it is depended on by the plugin&#x27;s
 definition.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="get-v1healthcheck"></a>GET /v1/healthcheck<a class="hash-link" href="#get-v1healthcheck" title="Direct link to heading">#</a></h3><p>Introduced since <code>v2.3</code>.</p><p>Return current <a href="/docs/apisix/health-check">health check</a> status in the format below:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollba [...]
 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/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/ff8d1795.2b668ec8.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/ff8d1795.396aceed.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/customize-nginx-configuration/index.html b/docs/apisix/customize-nginx-configuration/index.html
index 1c2c307..3e01226 100644
--- a/docs/apisix/customize-nginx-configuration/index.html
+++ b/docs/apisix/customize-nginx-configuration/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Customize Nginx configuration | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/0132ab2c.5c1fd9ef.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/0132ab2c.1e80667d.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,14 +31,14 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">            location /ysec_status </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">                req_status_show;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">                allow 127.0.0.1;</span></div><div class="token-li [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">        chunked_transfer_encoding on;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    </span><span class="token key atrule">http_server_configuration_snippet</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">|</span><span class="token scalar string" style="color:rgb(195, 232, 141)"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token  [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/0132ab2c.5c1fd9ef.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/0132ab2c.1e80667d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/debug-function/index.html b/docs/apisix/debug-function/index.html
index 9ed3b19..08c9e2e 100644
--- a/docs/apisix/debug-function/index.html
+++ b/docs/apisix/debug-function/index.html
@@ -15,28 +15,28 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs- [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/11dba9b3.ed2cdbbf.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/11dba9b3.5d021888.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>It has a response header of <code>X-APISIX-Upstream-Status: 502</code>.</p><blockquote><p>Example 2: <code>502</code> response status code comes from <code>APISIX</code></p></blockquote><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLi [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/11dba9b3.ed2cdbbf.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/11dba9b3.5d021888.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/discovery/consul_kv/index.html b/docs/apisix/discovery/consul_kv/index.html
index fa28480..3456840 100644
--- a/docs/apisix/discovery/consul_kv/index.html
+++ b/docs/apisix/discovery/consul_kv/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consul_kv | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs- [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/e461335b.df841a90.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/e461335b.4745a367.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,14 +31,14 @@
 <img src="https://user-images.githubusercontent.com/548385/107141841-6ced3e00-6966-11eb-8aa4-bc790a4ad113.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="configuration-for-discovery-client"></a>Configuration for discovery client<a class="hash-link" href="#configuration-for-discovery-client" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="configuration-for-consul-kv"></a>Configuration for Consul KV<a class="hash-link" [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    -X PUT </span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token [...]
 To avoid confusion, use the full consul key url path as service name in practice.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="upstream-setting"></a>Upstream setting<a class="hash-link" href="#upstream-setting" title="Direct link to heading">#</a></h3><p>Here is an example of routing a request with a URL of &quot;/*&quot; to a service which named &quot;<a href="http://127.0.0.1:8500/v1/kv/upstreams/webpages/%22" target="_blank" rel="noopener noreferrer">http://127.0.0.1: [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/e461335b.df841a90.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/e461335b.4745a367.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/discovery/dns/index.html b/docs/apisix/discovery/dns/index.html
index e2b8e4a..dbfa589 100644
--- a/docs/apisix/discovery/dns/index.html
+++ b/docs/apisix/discovery/dns/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apisix [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/72ff46d3.184255bc.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/72ff46d3.9219c07a.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -37,14 +37,14 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/discovery/dns.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3- [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/72ff46d3.184255bc.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/72ff46d3.9219c07a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/discovery/eureka/index.html b/docs/apisix/discovery/eureka/index.html
index 1f111ba..80dcf45 100644
--- a/docs/apisix/discovery/eureka/index.html
+++ b/docs/apisix/discovery/eureka/index.html
@@ -15,28 +15,28 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">eureka | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-api [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/af4112e0.7be6a64f.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/af4112e0.5d838873.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 reading from <a href="/docs/apisix/discovery#supported-discovery-registries">Supported discovery registries</a>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/discovery/eureka.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page" [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/af4112e0.7be6a64f.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/af4112e0.5d838873.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/discovery/index.html b/docs/apisix/discovery/index.html
index d1b141c..0eba3a4 100644
--- a/docs/apisix/discovery/index.html
+++ b/docs/apisix/discovery/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Integration service discovery registry | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/41a31a3f.19599bd0.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/41a31a3f.e8aedb7c.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -39,14 +39,14 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:rgb(247, 140, 108)">201</span><span class="token plain"> Created</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Date: Sat, </span><span class="token number" style="color:rgb(247, 140, 108)">31</span><span class="token plain"> Aug </span><span class="token number" style="color:rgb(247, 140, 108)">2019</span><span  [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;value&quot;</span><span class="token plain">:</span><span class="token  [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/2 -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -i -d </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;</span></ [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/41a31a3f.19599bd0.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/41a31a3f.e8aedb7c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/examples/plugins-hmac-auth-generate-signature/index.html b/docs/apisix/examples/plugins-hmac-auth-generate-signature/index.html
index ff2dc28..a3f1544 100644
--- a/docs/apisix/examples/plugins-hmac-auth-generate-signature/index.html
+++ b/docs/apisix/examples/plugins-hmac-auth-generate-signature/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HMAC Generate Signature Examples | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_t [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/27858f29.a1bb3f0d.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/27858f29.bf3625b6.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -62,14 +62,14 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">--to base64</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">ngx.say(ngx.encode_base64(digest))</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="shell"></a>Shell<a class="hash-link" href="#shell" title="Direct link to heading">#</a [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># to lowercase hexits</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 107)">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:rgb(191, 199, [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># to base64</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 107)">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:rgb(191, 199, 213)">$ME [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/27858f29.a1bb3f0d.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/27858f29.bf3625b6.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/getting-started/index.html b/docs/apisix/getting-started/index.html
index 807e84f..4d1e42c 100644
--- a/docs/apisix/getting-started/index.html
+++ b/docs/apisix/getting-started/index.html
@@ -15,28 +15,28 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Getting Started | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/32e589c1.4621d672.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/32e589c1.7ecbcb2d.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 the proxy-rewrite plugin to do it.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/5 -H </span><span class="token string"  [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/32e589c1.4621d672.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/32e589c1.7ecbcb2d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/grpc-proxy/index.html b/docs/apisix/grpc-proxy/index.html
index 389a9ac..76fa2d8 100644
--- a/docs/apisix/grpc-proxy/index.html
+++ b/docs/apisix/grpc-proxy/index.html
@@ -15,28 +15,28 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gRPC Proxy | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/5b9020fd.21e453d1.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/5b9020fd.85467d8b.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 gRPC client -&gt; APISIX -&gt; gRPC/gRPCS server</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="parameters"></a>Parameters<a class="hash-link" href="#parameters" title="Direct link to heading">#</a></h2><ul><li><code>scheme</code>: the <code>scheme</code> of the route&#x27;s upstream must be <code>grpc</code> or <code>grpcs</code>.</li><li><code>uri</code>: format likes /service/method, Example:/helloworld.Greeter/SayHello</li></ul><h3><a aria-hidden="true" tabindex="-1" c [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/5b9020fd.21e453d1.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/5b9020fd.85467d8b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/health-check/index.html b/docs/apisix/health-check/index.html
index db720ac..03e0840 100644
--- a/docs/apisix/health-check/index.html
+++ b/docs/apisix/health-check/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Health Check | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-do [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/8cdcb209.0c019d63.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/8cdcb209.ca2b5d23.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,14 +31,14 @@
 you can use it for upstream.</p><p>Note that we only start the health check when the upstream is hit by a request.
 There won&#x27;t be any health check if an upstream is configured but isn&#x27;t in used.</p><p>The following is an example of health check:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span>< [...]
 contains: <code>active</code> or <code>passive</code>.</p><ul><li><p><code>active</code>: To enable active health checks, you need to specify the configuration items under <code>checks.active</code> in the Upstream object configuration.</p><ul><li><p><code>active.timeout</code>: Socket timeout for active checks (in seconds), support decimals. For example <code>1.01</code> means <code>1010</code> milliseconds, <code>2</code> means <code>2000</code> milliseconds.</p></li><li><p><code>activ [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/8cdcb209.0c019d63.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/8cdcb209.ca2b5d23.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/how-to-build/index.html b/docs/apisix/how-to-build/index.html
index a2b7916..0298429 100644
--- a/docs/apisix/how-to-build/index.html
+++ b/docs/apisix/how-to-build/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How to build Apache APISIX | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" co [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/860d73b2.89add526.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/860d73b2.d3bde19b.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -40,14 +40,14 @@ Here is an example:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockConte
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes?api_key</span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain">abcdefghabcdefgh-invalid -i</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">HTTP/1.1 </span><span class="token [...]
 If you need those features, you can build OpenResty with
 <a href="https://raw.githubusercontent.com/api7/apisix-build-tools/master/build-apisix-openresty.sh" target="_blank" rel="noopener noreferrer">this build script</a>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/how-to-build.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/860d73b2.89add526.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/860d73b2.d3bde19b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/https/index.html b/docs/apisix/https/index.html
index 70929c6..2b2d5b3 100644
--- a/docs/apisix/https/index.html
+++ b/docs/apisix/https/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HTTPS | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apis [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/e3d364e1.58ce1868.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/e3d364e1.5ee59607.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -43,14 +43,14 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
 first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
 private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
 pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/https.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0 [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/e3d364e1.58ce1868.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/e3d364e1.5ee59607.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/install-dependencies/index.html b/docs/apisix/install-dependencies/index.html
index 44f663b..f313049 100644
--- a/docs/apisix/install-dependencies/index.html
+++ b/docs/apisix/install-dependencies/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Dependencies | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content= [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/a138bbe3.2b3ef917.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/a138bbe3.60a8d3e4.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -47,14 +47,14 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># start etcd server</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:rgb(137, 221, 255)">&a [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># start etcd server</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">brew services start etcd</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># enable TLS for etcd server</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">etcd --cert-file</span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain">/path/to/cert --key-file</span><span class="token operat [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/a138bbe3.2b3ef917.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/a138bbe3.60a8d3e4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/mtls/index.html b/docs/apisix/mtls/index.html
index 4ee8dfe..da045eb 100644
--- a/docs/apisix/mtls/index.html
+++ b/docs/apisix/mtls/index.html
@@ -15,28 +15,28 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS authentication for Admin API | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docus [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/cf167ebd.2142c971.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/cf167ebd.05c38ed5.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  </span><span class="token key atrule">admin_api_mtls</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    </span><span class="token key atrule">admin_ssl_ca_cert</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plai [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/cf167ebd.2142c971.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/cf167ebd.05c38ed5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugin-develop/index.html b/docs/apisix/plugin-develop/index.html
index 3bb5529..02c7532 100644
--- a/docs/apisix/plugin-develop/index.html
+++ b/docs/apisix/plugin-develop/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Develop | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs- [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/1ed156ee.4283935b.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/1ed156ee.9d5c211b.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -60,14 +60,14 @@ return items of HTTP include HTTP status, HTTP response header, HTTP response bo
 You may need to use <a href="/docs/apisix/plugin-interceptors">interceptors</a> to protect it.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="register-control-api"></a>Register control API<a class="hash-link" href="#register-control-api" title="Direct link to heading">#</a></h3><p>If you only want to expose the API to the localhost or intranet, you can expose it via <a href="/docs/apisix/control-api">Control API</a>.</p><p>Take a look at example-plugin plugin:</p><div clas [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">function _M.control_api()</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    return {</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">        {</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">            methods = {&quot;GET&quot;},</span></div><div class="token-line" style="color:#bfc7d5"><span c [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/1ed156ee.4283935b.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/1ed156ee.9d5c211b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugin-interceptors/index.html b/docs/apisix/plugin-interceptors/index.html
index db2e076..6c25ac4 100644
--- a/docs/apisix/plugin-interceptors/index.html
+++ b/docs/apisix/plugin-interceptors/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin interceptors | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content=" [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/5c21e7f7.4a6d7226.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/5c21e7f7.aa7a999b.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,14 +33,14 @@ 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/plugi [...]
 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/plugins/ip-restriction">ip-restriction</a></li></ul></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugin-interceptors.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectR [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/5c21e7f7.4a6d7226.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/5c21e7f7.aa7a999b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/api-breaker/index.html b/docs/apisix/plugins/api-breaker/index.html
index 6c6055a..4f7de40 100644
--- a/docs/apisix/plugins/api-breaker/index.html
+++ b/docs/apisix/plugins/api-breaker/index.html
@@ -15,28 +15,28 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">api-breaker | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-doc [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/579f31ee.95aeb9b1.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/579f31ee.f19e58db.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</span><span class="token plain">. </span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</span><span class="token plain">.</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id= [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/579f31ee.95aeb9b1.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/579f31ee.f19e58db.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/authz-keycloak/index.html b/docs/apisix/plugins/authz-keycloak/index.html
index 6dcc15f..48be996 100644
--- a/docs/apisix/plugins/authz-keycloak/index.html
+++ b/docs/apisix/plugins/authz-keycloak/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">authz-keycloak | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs- [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/746acb87.42d304f0.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/746acb87.ff74e5d7.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -54,14 +54,14 @@ 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">docker run -e </span><span class="token assign- [...]
 However, Keycloak&#x27;s official adapters (Java, JS) also provides path matching by querying Keycloak paths dynamically, and
 lazy loading the paths to identity resources. Future version on authz-plugin will support this functionality.</p></li><li><p>Support to read scope and configurations from the Keycloak JSON File</p></li></ul></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugins/authz-keycloak.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspect [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/746acb87.42d304f0.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/746acb87.ff74e5d7.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/basic-auth/index.html b/docs/apisix/plugins/basic-auth/index.html
index 93d2ba2..8ddf3e8 100644
--- a/docs/apisix/plugins/basic-auth/index.html
+++ b/docs/apisix/plugins/basic-auth/index.html
@@ -15,29 +15,29 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">basic-auth | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/dd639a99.7b1f28be.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/dd639a99.74b40cca.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0. [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/dd639a99.7b1f28be.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/dd639a99.74b40cca.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/batch-requests/index.html b/docs/apisix/plugins/batch-requests/index.html
index 59d830d..18cea10 100644
--- a/docs/apisix/plugins/batch-requests/index.html
+++ b/docs/apisix/plugins/batch-requests/index.html
@@ -15,29 +15,29 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">batch-requests | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs- [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/b3ea87e1.9b415849.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/b3ea87e1.35879742.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 You may need to use <a href="/docs/apisix/plugin-interceptors">interceptors</a> to protect it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Default enabled</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-configure"></a>How To Configure<a class="hash-link" href="#how-to-configure" title="Direct link to heading">#</a></h2><p>By default [...]
 You can configure it via <code>apisix/admin/plugin_metadata/batch-requests</code>:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/adm [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/b3ea87e1.9b415849.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/b3ea87e1.35879742.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/consumer-restriction/index.html b/docs/apisix/plugins/consumer-restriction/index.html
index 82b2269..0d1d47b 100644
--- a/docs/apisix/plugins/consumer-restriction/index.html
+++ b/docs/apisix/plugins/consumer-restriction/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consumer-restriction | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content= [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/1fb562de.416087d4.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/1fb562de.b9a4c98c.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,14 +33,14 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/services/2 -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;</span></div [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </s [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/1fb562de.416087d4.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/1fb562de.b9a4c98c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/cors/index.html b/docs/apisix/plugins/cors/index.html
index 0663f97..ebde8d0 100644
--- a/docs/apisix/plugins/cors/index.html
+++ b/docs/apisix/plugins/cors/index.html
@@ -15,28 +15,28 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">cors | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apisi [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/00ee19e9.728d17a9.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/00ee19e9.a95bc6be.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 When using <code>**</code>, you must fully understand that it introduces some security risks, such as CSRF, so make sure that this security level meets your expectations before using it。</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Create a <code>Route</code> or <code>Service</code> object and configure <code>cors</code> plugin.</p><div clas [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/00ee19e9.728d17a9.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/00ee19e9.a95bc6be.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/dubbo-proxy/index.html b/docs/apisix/plugins/dubbo-proxy/index.html
index cc78c96..915bd50 100644
--- a/docs/apisix/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/plugins/dubbo-proxy/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">dubbo-proxy | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-doc [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/601cd3be.025ec0e6.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/601cd3be.a739e831.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -34,14 +34,14 @@ 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0. [...]
 you need to comment out in the <code>config.yaml</code>:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">plugins</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><d [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/601cd3be.025ec0e6.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/601cd3be.a739e831.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/echo/index.html b/docs/apisix/plugins/echo/index.html
index d2b8f5b..1f1afc4 100644
--- a/docs/apisix/plugins/echo/index.html
+++ b/docs/apisix/plugins/echo/index.html
@@ -15,28 +15,28 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">echo | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apisi [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/c888429e.506de5d4.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/c888429e.9ea8f89d.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127 [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/c888429e.506de5d4.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/c888429e.9ea8f89d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/error-log-logger/index.html b/docs/apisix/plugins/error-log-logger/index.html
index 8d90490..e409aa6 100644
--- a/docs/apisix/plugins/error-log-logger/index.html
+++ b/docs/apisix/plugins/error-log-logger/index.html
@@ -15,29 +15,29 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">error-log-logger | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="doc [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/70fb06d4.22ad3b35.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/70fb06d4.f474c9ce.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <a href="/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address or the Hostname of the TCP server.</td></tr><tr> [...]
 It does not need to be bound in any route or service.</p><p>Here is an example of <code>conf/config.yaml</code>:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">plugins</span><span class="token punctuation" style="color:rgb(199, 146, [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/70fb06d4.22ad3b35.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/70fb06d4.f474c9ce.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/fault-injection/index.html b/docs/apisix/plugins/fault-injection/index.html
index 75a295c..df7dcff 100644
--- a/docs/apisix/plugins/fault-injection/index.html
+++ b/docs/apisix/plugins/fault-injection/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">fault-injection | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/6d5713a9.aaba983d.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/6d5713a9.b67fe0ea.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -48,14 +48,14 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Fault Injection</span><span class="token operator" style="color:rgb(137, 221, 255)">!</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ol start="2"><li>The request header <code>apikey</code> is successfully matched, and the request parameters are missing, and fault injection is performed:</li></ol><div class="mdxCodeBlock_ [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Fault Injection</span><span class="token operator" style="color:rgb(137, 221, 255)">!</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ol start="3"><li>Both request parameters and request headers fail to match, and fault injection is not performed:</li></ol><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"> [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">hello</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON in the plugin configuration to disable the plugin immediate [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/6d5713a9.aaba983d.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/6d5713a9.b67fe0ea.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/grpc-transcode/index.html b/docs/apisix/plugins/grpc-transcode/index.html
index 12d0f6e..9ef0b9e 100644
--- a/docs/apisix/plugins/grpc-transcode/index.html
+++ b/docs/apisix/plugins/grpc-transcode/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">grpc-transcode | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs- [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/e278666a.5830f3c3.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/e278666a.36139cb9.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,14 +31,14 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;message&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 107)">:</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;Hello world&quot;</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</spa [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;workflowKey&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 107)">:</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;#2251799813685260&quot;</span><span class="token plain">,</span><span class="token string"  [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/111 [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/e278666a.5830f3c3.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/e278666a.36139cb9.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/hmac-auth/index.html b/docs/apisix/plugins/hmac-auth/index.html
index ee632e0..86789f4 100644
--- a/docs/apisix/plugins/hmac-auth/index.html
+++ b/docs/apisix/plugins/hmac-auth/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">hmac-auth | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs- [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/59472992.a9b43be8.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/59472992.96a67839.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -40,14 +40,14 @@
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0. [...]
 Need to pay attention to the handling of newline characters in signature strings in various languages, which can easily lead to the problem of <code>{&quot;message&quot;:&quot;Invalid signature&quot;}</code>.</p><p>Example inputs:</p><table><thead><tr><th>Variable</th><th>Value</th></tr></thead><tbody><tr><td>secret</td><td>this is secret key</td></tr><tr><td>message</td><td>this is signature string</td></tr></tbody></table><p>Example outputs:</p><table><thead><tr><th>Type</th><th>Hash</ [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/59472992.a9b43be8.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/59472992.96a67839.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/http-logger/index.html b/docs/apisix/plugins/http-logger/index.html
index de6a714..7972b72 100644
--- a/docs/apisix/plugins/http-logger/index.html
+++ b/docs/apisix/plugins/http-logger/index.html
@@ -15,28 +15,28 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">http-logger | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-doc [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/2a2f078e.a84c235a.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/2a2f078e.9cee135a.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127 [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/2a2f078e.a84c235a.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/2a2f078e.9cee135a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/index.html b/docs/apisix/plugins/index.html
index cd97a9a..0cca7c9 100644
--- a/docs/apisix/plugins/index.html
+++ b/docs/apisix/plugins/index.html
@@ -15,28 +15,28 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugins | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-ap [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/d0f73e13.eaf73011.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/d0f73e13.f9e47ff4.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 the its execution will be skipped.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="hot-reload-in-stand-alone-mode"></a>Hot reload in stand-alone mode<a class="hash-link" href="#hot-reload-in-stand-alone-mode" title="Direct link to heading">#</a></h3><p>For stand-alone mode, see plugin related section in <a href="/docs/apisix/stand-alone">stand alone mode</a>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/d0f73e13.eaf73011.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/d0f73e13.f9e47ff4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/ip-restriction/index.html b/docs/apisix/plugins/ip-restriction/index.html
index c822c4f..aede7f9 100644
--- a/docs/apisix/plugins/ip-restriction/index.html
+++ b/docs/apisix/plugins/ip-restriction/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ip-restriction | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs- [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/746d4aad.67b51b99.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/746d4aad.4675c10d.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -35,14 +35,14 @@ 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </s [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0. [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/746d4aad.67b51b99.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/746d4aad.4675c10d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/jwt-auth/index.html b/docs/apisix/plugins/jwt-auth/index.html
index d6d1e1d..fcc08ea 100644
--- a/docs/apisix/plugins/jwt-auth/index.html
+++ b/docs/apisix/plugins/jwt-auth/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">jwt-auth | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-a [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/cf554819.dba230ac.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/cf554819.c54f7806.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -36,14 +36,14 @@ You may need to use <a href="/docs/apisix/plugin-interceptors">interceptors</a>
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token operator" style="color:rgb(137, 221, 255)">&lt;</span><span class="token operator" style="color:rgb(137, 221, 255)">!</span><span class="token plain">DOCTYPE html</span><span class="token operator" style="color:rgb(137, 221, 255)">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token op [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0. [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/cf554819.dba230ac.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/cf554819.c54f7806.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/kafka-logger/index.html b/docs/apisix/plugins/kafka-logger/index.html
index 5f6a93e..41ae996 100644
--- a/docs/apisix/plugins/kafka-logger/index.html
+++ b/docs/apisix/plugins/kafka-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">kafka-logger | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-do [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/d9418bf0.4fa14632.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/d9418bf0.5fb69fb7.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -35,14 +35,14 @@ or every <code>buffer_duration</code> flush the buffer.</p><p>In case of success
 In case of errors, returns <code>nil</code> with a string describing the error (<code>buffer overflow</code>).</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="sample-broker-list"></a>Sample broker list<a class="hash-link" href="#sample-broker-list" title="Direct link to heading">#</a></h3><p>This plugin supports to push in to more than one broker at a time. Specify the brokers of the external kafka servers as below
 sample to take effect of this functionality.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class=" [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127 [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/d9418bf0.4fa14632.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/d9418bf0.5fb69fb7.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/key-auth/index.html b/docs/apisix/plugins/key-auth/index.html
index 55d7ed3..5f04d01 100644
--- a/docs/apisix/plugins/key-auth/index.html
+++ b/docs/apisix/plugins/key-auth/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">key-auth | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-a [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/c44a0953.b5f87489.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/c44a0953.26cdf26a.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,14 +33,14 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.2:9080/index.html -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;apikey: abcabcabc&#x27;</span><span class="token plain"> -i</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">HTTP/1.1 </span><span class="token number" st [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0. [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/c44a0953.b5f87489.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/c44a0953.26cdf26a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/limit-conn/index.html b/docs/apisix/plugins/limit-conn/index.html
index 0bd97d0..e9d8c31 100644
--- a/docs/apisix/plugins/limit-conn/index.html
+++ b/docs/apisix/plugins/limit-conn/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-conn | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/042f2dd8.83aefa64.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/042f2dd8.c647222b.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,14 +33,14 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> -i http://127.0.0.1:9080/index.html?sleep</span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token number" style="color:rgb(247, 140, 108)">20</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></ [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </s [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/042f2dd8.83aefa64.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/042f2dd8.c647222b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/limit-count/index.html b/docs/apisix/plugins/limit-count/index.html
index 397b1d9..89ebb02 100644
--- a/docs/apisix/plugins/limit-count/index.html
+++ b/docs/apisix/plugins/limit-count/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-count | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-doc [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/b28b7341.da353a44.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/b28b7341.b7a0f6f4.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -34,14 +34,14 @@ which mean the total number of requests and the remaining number of requests tha
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token operator" style="color:rgb(137, 221, 255)">&lt;</span><span class="token plain">html</span><span class="token operator" style="color:rgb(137, 221, 255)">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token operator" style="color:rgb(137, 221, 255)">&lt;</span><span class="token plain"> [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </s [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/b28b7341.da353a44.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/b28b7341.b7a0f6f4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/limit-req/index.html b/docs/apisix/plugins/limit-req/index.html
index 875496b..95a94bd 100644
--- a/docs/apisix/plugins/limit-req/index.html
+++ b/docs/apisix/plugins/limit-req/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-req | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs- [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/25fbf809.d4b159c5.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/25fbf809.f1ec72aa.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,14 +31,14 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&lt;</span><span class="token tag" style="color:rgb(255, 85, 114)">html</span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(19 [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </s [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/25fbf809.d4b159c5.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/25fbf809.f1ec72aa.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/log-rotate/index.html b/docs/apisix/plugins/log-rotate/index.html
index 95ddebd..9d29705 100644
--- a/docs/apisix/plugins/log-rotate/index.html
+++ b/docs/apisix/plugins/log-rotate/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">log-rotate | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/ed20433f.b3294a15.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/ed20433f.5a66daa3.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -32,14 +32,14 @@ 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ ll logs</span></div><div class="token-line" style="color:#bfc7d5"><span cl [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">plugins</span><span class="token punctuation" style="color:rgb(199, 146, [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token key atrule">plugin_attr</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    </span><span class="token key atrule">log-rotate</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></ [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/ed20433f.b3294a15.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/ed20433f.5a66daa3.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/mqtt-proxy/index.html b/docs/apisix/plugins/mqtt-proxy/index.html
index 9ff6756..264a6bd 100644
--- a/docs/apisix/plugins/mqtt-proxy/index.html
+++ b/docs/apisix/plugins/mqtt-proxy/index.html
@@ -15,29 +15,29 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">mqtt-proxy | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/2f7e5bad.b7dc368b.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/2f7e5bad.580f3574.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 balance by <code>client_id</code> of MQTT.</p><p>And this plugin both support MQTT protocol <a href="http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html" target="_blank" rel="noopener noreferrer">3.1.*</a> and <a href="https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html" target="_blank" rel="noopener noreferrer">5.0</a>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link t [...]
 For example, the following configuration represents listening on the 9100 TCP port.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(199, 146, 234)">...</span><span class="token p [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/2f7e5bad.b7dc368b.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/2f7e5bad.580f3574.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/node-status/index.html b/docs/apisix/plugins/node-status/index.html
index f5b99c2..b1522c4 100644
--- a/docs/apisix/plugins/node-status/index.html
+++ b/docs/apisix/plugins/node-status/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">node-status | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-doc [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/31fa6cf3.d2bcb0a8.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/31fa6cf3.acbb5cea.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -35,14 +35,14 @@ And this plugin will not make any difference in future requests, so usually we d
 then you can not add this plugin in any route.</li></ol><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-undefined codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">plugins:                          # plugin list</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-sh codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H &#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27; -X PUT -i - [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/31fa6cf3.d2bcb0a8.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/31fa6cf3.acbb5cea.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/openid-connect/index.html b/docs/apisix/plugins/openid-connect/index.html
index bd6bf66..26dece0 100644
--- a/docs/apisix/plugins/openid-connect/index.html
+++ b/docs/apisix/plugins/openid-connect/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">openid-connect | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs- [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/098c8b15.115217e6.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/098c8b15.9e5068b2.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -54,14 +54,14 @@ 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</sp [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/098c8b15.115217e6.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/098c8b15.9e5068b2.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/prometheus/index.html b/docs/apisix/plugins/prometheus/index.html
index 77e376a..c9efeff 100644
--- a/docs/apisix/plugins/prometheus/index.html
+++ b/docs/apisix/plugins/prometheus/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">prometheus | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/3ace1223.3a2359d9.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/3ace1223.05983f1b.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,14 +33,14 @@ you may need to use <a href="/docs/apisix/plugin-interceptors">interceptors</a>
 any options yet.</p><p>For example:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H </span><span class="token strin [...]
 these metric data.</p><p>For example like this:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">scrape_configs</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1   [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/3ace1223.3a2359d9.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/3ace1223.05983f1b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/proxy-cache/index.html b/docs/apisix/plugins/proxy-cache/index.html
index ff94061..42d475a 100644
--- a/docs/apisix/plugins/proxy-cache/index.html
+++ b/docs/apisix/plugins/proxy-cache/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-cache | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-doc [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/d3e633ff.22645c7c.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/d3e633ff.c7cf4b55.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,14 +33,14 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">hello</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>http status is &#x27;200&#x27; and the response header contains &#x27;Apisix-Cache-Status&#x27; to indicate that the plug-in is enabled.</p></blockquote><ol start="3"><li>Verify that the data is cached and request the above address again:</li></ol><div cl [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">hello</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>The response header <code>Apisix-Cache-Status</code> value has changed to HIT, indicating that the data has been cached</p></blockquote><p>Example 3: Specifying cache_zone as <code>invalid_disk_cache</code> is inconsistent with the cache area <code>disk_c [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token operator" style="color:rgb(137, 221, 255)">&lt;</span><span class="token plain">html</span><span class="token operator" style="color:rgb(137, 221, 255)">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token operator" style="color:rgb(137, 221, 255)">&lt;</span><span class="token plain"> [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/d3e633ff.22645c7c.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/d3e633ff.c7cf4b55.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/proxy-mirror/index.html b/docs/apisix/plugins/proxy-mirror/index.html
index 4c7788f..7b328ce 100644
--- a/docs/apisix/plugins/proxy-mirror/index.html
+++ b/docs/apisix/plugins/proxy-mirror/index.html
@@ -15,29 +15,29 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-mirror | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-do [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/84a8b022.f8e7d4c0.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/84a8b022.d40b320a.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">hello world</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>Since the specified mirror address is 127.0.0.1:9797, so to verify whether this plugin is in effect, we need to confirm on the service with port 9797.
 For example, we can start a simple server:  python -m SimpleHTTPServer 9797</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON in the plugin configuration to disable the plugin immediately without restarting the service:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="p [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/84a8b022.f8e7d4c0.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/84a8b022.d40b320a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/proxy-rewrite/index.html b/docs/apisix/plugins/proxy-rewrite/index.html
index 2123068..55bed4f 100644
--- a/docs/apisix/plugins/proxy-rewrite/index.html
+++ b/docs/apisix/plugins/proxy-rewrite/index.html
@@ -15,29 +15,29 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-rewrite | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-d [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/383740fd.abac9d6b.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/383740fd.bfc5004a.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H < [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/383740fd.abac9d6b.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/383740fd.bfc5004a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/redirect/index.html b/docs/apisix/plugins/redirect/index.html
index df8d45d..c5886db 100644
--- a/docs/apisix/plugins/redirect/index.html
+++ b/docs/apisix/plugins/redirect/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">redirect | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-a [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/7193710f.13d808bb.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/7193710f.f6edc4cc.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,14 +31,14 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</span><span class="token plain">.</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>We can check the response code and the response header <code>Location</code>.</p><p>It shows that the <code>redirect</code> plugin is in effect.</p><p> Here is an e [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H < [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/7193710f.13d808bb.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/7193710f.f6edc4cc.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/referer-restriction/index.html b/docs/apisix/plugins/referer-restriction/index.html
index 6e60ccb..bf6d62a 100644
--- a/docs/apisix/plugins/referer-restriction/index.html
+++ b/docs/apisix/plugins/referer-restriction/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">referer-restriction | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content=" [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/3a136aea.12cb8f8f.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/3a136aea.c6767958.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,14 +31,14 @@
 whitelisting request header Referrers.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>whitelist</td><td>array[string]</td><td>required</td><td></td><td></td><td>List of hostname to whitelist. The hostname can be started with <co [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0. [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/3a136aea.12cb8f8f.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/3a136aea.c6767958.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/request-id/index.html b/docs/apisix/plugins/request-id/index.html
index 5794f53..ddea302 100644
--- a/docs/apisix/plugins/request-id/index.html
+++ b/docs/apisix/plugins/request-id/index.html
@@ -15,29 +15,29 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-id | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/63468b30.a4153f58.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/63468b30.50a5c6b6.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 API request. The plugin will not add a request id if the <code>header_name</code> is already present in the request.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>header_name</td><td>string</td><td>optional</td><td>&quot;X-Requ [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/5 - [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/63468b30.a4153f58.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/63468b30.50a5c6b6.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/request-validation/index.html b/docs/apisix/plugins/request-validation/index.html
index 1a01a76..b2932f9 100644
--- a/docs/apisix/plugins/request-validation/index.html
+++ b/docs/apisix/plugins/request-validation/index.html
@@ -15,29 +15,29 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-validation | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="d [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/645be848.c082a46c.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/645be848.3edd2a23.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 json-schema to validate the schema. The plugin can be used to validate the headers and body data.</p><p>For more information on schema, refer to <a href="https://github.com/api7/jsonschema" target="_blank" rel="noopener noreferrer">JSON schema</a> for more information.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requi [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/5 - [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/645be848.c082a46c.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/645be848.3edd2a23.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/response-rewrite/index.html b/docs/apisix/plugins/response-rewrite/index.html
index 7ef4b0a..6aaea04 100644
--- a/docs/apisix/plugins/response-rewrite/index.html
+++ b/docs/apisix/plugins/response-rewrite/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">response-rewrite | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="doc [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/0484cea7.67806dfc.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/0484cea7.a760f561.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -32,14 +32,14 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">{&quot;code&quot;:&quot;ok&quot;,&quot;message&quot;:&quot;new json body&quot;}</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>This means that the <code>response rewrite</code> plugin is in effect.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href= [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H </ [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/0484cea7.67806dfc.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/0484cea7.a760f561.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/server-info/index.html b/docs/apisix/plugins/server-info/index.html
index 6620f69..631ee01 100644
--- a/docs/apisix/plugins/server-info/index.html
+++ b/docs/apisix/plugins/server-info/index.html
@@ -15,27 +15,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">server-info | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-doc [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/ad461966.65634e02.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/ad461966.317bef85.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/ad461966.65634e02.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/ad461966.317bef85.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/serverless/index.html b/docs/apisix/plugins/serverless/index.html
index 5d98080..e746a8f 100644
--- a/docs/apisix/plugins/serverless/index.html
+++ b/docs/apisix/plugins/serverless/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">serverless | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/1741c35c.8d17d175.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/1741c35c.e183d5f6.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,14 +31,14 @@
 which indicates that the specified function is in effect.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to disable the serverless plugin, it is very simple,
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H </ [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/1741c35c.8d17d175.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/1741c35c.e183d5f6.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/skywalking/index.html b/docs/apisix/plugins/skywalking/index.html
index d6ff930..c59c894 100644
--- a/docs/apisix/plugins/skywalking/index.html
+++ b/docs/apisix/plugins/skywalking/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">skywalking | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/b5a39df0.782ee376.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/b5a39df0.6f86300f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -43,14 +43,14 @@ you need to comment out in the <code>config.yaml</code>:</p><div class="mdxCodeB
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token keyword" style="font-style:italic">import</span><span class="token plain"> </span><span class="token namespace" style="color:rgb(178, 204, 214)">org</span><span class="token namespace punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token namespace" style="color:rgb(178, 204, 214)">springframework</span><span class="token namespace punctuation" style="color:rgb [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic">/**</span></div><div class="token-line" style="color:#bfc7d5"><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"> * @author cyxinda</span></div><div class="token-line" style="color:#bfc7d5"><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"> * @create 2020-05-29 14 [...]
 update the file of agent/config/agent.config</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">agent.service_name</span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain">yourservername</span></ [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/b5a39df0.782ee376.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/b5a39df0.6f86300f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/sls-logger/index.html b/docs/apisix/plugins/sls-logger/index.html
index e3f37bd..2aa1917 100644
--- a/docs/apisix/plugins/sls-logger/index.html
+++ b/docs/apisix/plugins/sls-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">sls-logger | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/0654f374.5a4921bb.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/0654f374.92d9df0b.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,14 +31,14 @@
 <a href="/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Requirement</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>required</td><td>IP address or the Hostname of the TCP server, please reference ali cloud log <a href="https://help.aliyun.com/document_detail/29008.htm [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="test-plugin"></a>Test Plugin<a class="hash-link" href="#test-plugin" title="Direct link to heading">#</a></h2><ul><li>success:</li></ul><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeB [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127 [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/0654f374.5a4921bb.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/0654f374.92d9df0b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/syslog/index.html b/docs/apisix/plugins/syslog/index.html
index 700f94f..8d3f620 100644
--- a/docs/apisix/plugins/syslog/index.html
+++ b/docs/apisix/plugins/syslog/index.html
@@ -15,28 +15,28 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">syslog | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-api [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/e7ebab94.5969a2c7.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/e7ebab94.096e3421.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127 [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/e7ebab94.5969a2c7.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/e7ebab94.096e3421.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/tcp-logger/index.html b/docs/apisix/plugins/tcp-logger/index.html
index e674c3f..39edc7c 100644
--- a/docs/apisix/plugins/tcp-logger/index.html
+++ b/docs/apisix/plugins/tcp-logger/index.html
@@ -15,29 +15,29 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">tcp-logger | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/b436937a.4dc88aa5.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/b436937a.15e24f6a.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <a href="/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address or the Hostname of the TCP server.</td></tr><tr> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127 [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/b436937a.4dc88aa5.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/b436937a.15e24f6a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/traffic-split/index.html b/docs/apisix/plugins/traffic-split/index.html
index 5ebb2e6..48541f2 100644
--- a/docs/apisix/plugins/traffic-split/index.html
+++ b/docs/apisix/plugins/traffic-split/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">traffic-split | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-d [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/4842b438.9f899c55.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/4842b438.ea6b3584.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -42,14 +42,14 @@ service_name, discovery_type, checks, retries, desc, scheme, labels, create_time
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">world </span><span class="token number" style="color:rgb(247, 140, 108)">1981</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">hello </span><span class="token number" style="color:rgb(247, 140, 108)">1980</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>After 5 requests, the service of port <code>1981</code> was hit 3 times, and the service of port <code>1980</code> was hit 2 times.</p><blockquote><ol start="3"><li>The expression verification of [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">hello </span><span class="token number" style="color:rgb(247, 140, 108)">1980</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to  [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/4842b438.9f899c55.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/4842b438.ea6b3584.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/udp-logger/index.html b/docs/apisix/plugins/udp-logger/index.html
index f13db9e..f926859 100644
--- a/docs/apisix/plugins/udp-logger/index.html
+++ b/docs/apisix/plugins/udp-logger/index.html
@@ -15,29 +15,29 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">udp-logger | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/84ebf226.51f0808a.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/84ebf226.e3667d47.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <a href="/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address or the Hostname of the UDP server.</td></tr><tr> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127 [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/84ebf226.51f0808a.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/84ebf226.e3667d47.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/uri-blocker/index.html b/docs/apisix/plugins/uri-blocker/index.html
index f070947..75eedb0 100644
--- a/docs/apisix/plugins/uri-blocker/index.html
+++ b/docs/apisix/plugins/uri-blocker/index.html
@@ -15,28 +15,28 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">uri-blocker | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-doc [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/17d3fec9.f8e96dba.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/17d3fec9.58d88a55.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</span><span class="token plain">. </span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</span><span class="token plain">.</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id= [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/17d3fec9.f8e96dba.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/17d3fec9.58d88a55.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/wolf-rbac/index.html b/docs/apisix/plugins/wolf-rbac/index.html
index ee40cbc..33fcbc8 100644
--- a/docs/apisix/plugins/wolf-rbac/index.html
+++ b/docs/apisix/plugins/wolf-rbac/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">wolf-rbac | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs- [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/6e5db0c1.cb3dd894.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/6e5db0c1.5d87de1a.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -50,14 +50,14 @@ The rbac feature is provided by <a href="https://github.com/iGeeky/wolf" target=
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:rgb(247, 140, 108)">200</span><span class="token plain"> OK</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;message&quot;</span><span class="token builtin class-name" st [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H </ [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/6e5db0c1.cb3dd894.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/6e5db0c1.5d87de1a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/zipkin/index.html b/docs/apisix/plugins/zipkin/index.html
index bb4f318..1e70dd1 100644
--- a/docs/apisix/plugins/zipkin/index.html
+++ b/docs/apisix/plugins/zipkin/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Zipkin | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-api [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/ab6cb272.ed74c0ac.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/ab6cb272.951806d3.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -36,14 +36,14 @@ no need to restart the service, it will take effect immediately:</p><div class="
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    tracer := GetTracer(...)</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    // use middleware to extract parentID from http header that injected by APISIX</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    r.Use(func(c *gin.Context) {</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">        span := this.Tracer.Extract(b3.ExtractHTTP(c.Request))</span></div><div class="token-line" style="color:#bfc7d5"><s [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">}</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugins/zipkin.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAsp [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/ab6cb272.ed74c0ac.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/ab6cb272.951806d3.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/profile/index.html b/docs/apisix/profile/index.html
index e43ffd7..92baeda 100644
--- a/docs/apisix/profile/index.html
+++ b/docs/apisix/profile/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Configuration file switching based on environment variables | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" n [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/0201ab1c.c2c5a651.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/0201ab1c.0479d717.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -34,14 +34,14 @@ requirements, we need to change the parameters in the configuration file to the
 development environment. You have to change it back. It&#x27;s very easy to make mistakes.</p><p>The solution to the above problem is to distinguish the current running environment through environment variables, and switch
 between different configuration files through environment variables. The corresponding environment variable in APISIX is: <code>APISIX_PROFILE</code></p><p>When <code>APISIX_PROFILE</code> is not set, the following three configuration files are used by default:</p><ul><li>conf/config.yaml</li><li>conf/apisix.yaml</li><li>conf/debug.yaml</li></ul><p>If the value of <code>APISIX_PROFILE</code> is set to <code>prod</code>, the following three configuration files are used:</p><ul><li>conf/co [...]
 tools such as git can be configured, and version management can be better achieved.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/profile.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/0201ab1c.c2c5a651.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/0201ab1c.0479d717.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/router-radixtree/index.html b/docs/apisix/router-radixtree/index.html
index c2a6963..4c415c7 100644
--- a/docs/apisix/router-radixtree/index.html
+++ b/docs/apisix/router-radixtree/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router radixtree | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="doc [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/2f1ee7b9.c49c58bc.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/2f1ee7b9.32208f32.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -32,14 +32,14 @@
 here is an simple example:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span [...]
 data from the request body. This limitation is configured via:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">graphql</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></ [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>If you need to pass a graphql body which is larger than the limitation, you can increase the value in <code>conf/config.yaml</code>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/router-radixtree.md" target="_blank" rel="noreferrer noopener"><svg fill= [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/2f1ee7b9.c49c58bc.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/2f1ee7b9.32208f32.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/stand-alone/index.html b/docs/apisix/stand-alone/index.html
index 20feac9..71df435 100644
--- a/docs/apisix/stand-alone/index.html
+++ b/docs/apisix/stand-alone/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stand-alone mode | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="doc [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/13dafbb5.19f0a315.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/13dafbb5.3b18b9dc.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,14 +31,14 @@
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">routes</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</sp [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/13dafbb5.19f0a315.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/13dafbb5.3b18b9dc.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/stream-proxy/index.html b/docs/apisix/stream-proxy/index.html
index f0e5914..5d9378d 100644
--- a/docs/apisix/stream-proxy/index.html
+++ b/docs/apisix/stream-proxy/index.html
@@ -15,28 +15,28 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stream Proxy | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-do [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/65962b6f.21d1e6e7.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.eae4cf90.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/65962b6f.2109b88a.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 By default, no any stream proxy is enabled.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">apisix</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="toke [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/d73fca9b.6881e694.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/65962b6f.21d1e6e7.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/d73fca9b.eae4cf90.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/65962b6f.2109b88a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/dashboard/FAQ/index.html b/docs/dashboard/FAQ/index.html
index 8794215..5e7e282 100644
--- a/docs/dashboard/FAQ/index.html
+++ b/docs/dashboard/FAQ/index.html
@@ -15,29 +15,29 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apisix [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/f243156b.46fa0740.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/3316b9c0.56976f80.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/f243156b.2711cc34.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/3316b9c0.b2c198f5.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 Refer to the beginning in:
 <a href="https://apisix.apache.org/docs/apisix/control-api" target="_blank" rel="noopener noreferrer">https://apisix.apache.org/docs/apisix/control-api</a></p></li><li><p>Execute the following commands to export jsonchema on your APISIX server (if it is configured for non-local access, it does not need to be executed on your APISIX server, and the access IP and port should be modified accordingly)</p></li></ol><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabinde [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/f243156b.46fa0740.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/3316b9c0.56976f80.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/f243156b.2711cc34.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/3316b9c0.b2c198f5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/dashboard/I18N_USER_GUIDE/index.html b/docs/dashboard/I18N_USER_GUIDE/index.html
index a39ba2f..6d35514 100644
--- a/docs/dashboard/I18N_USER_GUIDE/index.html
+++ b/docs/dashboard/I18N_USER_GUIDE/index.html
@@ -15,27 +15,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">i18n User Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/f243156b.46fa0740.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/679cfa79.e432a6e4.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/f243156b.2711cc34.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/679cfa79.b2feb48a.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/f243156b.46fa0740.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/679cfa79.e432a6e4.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/f243156b.2711cc34.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/679cfa79.b2feb48a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/dashboard/IGNORE_DOC/index.html b/docs/dashboard/IGNORE_DOC/index.html
index 4c792da..0f1895a 100644
--- a/docs/dashboard/IGNORE_DOC/index.html
+++ b/docs/dashboard/IGNORE_DOC/index.html
@@ -15,27 +15,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/f243156b.46fa0740.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/3393d167.51b64f69.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/f243156b.2711cc34.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/3393d167.a3c394f6.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/f243156b.46fa0740.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/3393d167.51b64f69.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/f243156b.2711cc34.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/3393d167.a3c394f6.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html b/docs/dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html
index 5b50313..541c9fb 100644
--- a/docs/dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html
+++ b/docs/dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html
@@ -15,28 +15,28 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Import OpenAPI Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content= [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/f243156b.46fa0740.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/95244615.aa8e85ff.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/f243156b.2711cc34.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/95244615.6d74d7af.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">      </span><span class="token key atrule">requestBody</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">        </span><span class="token key atrule">content</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></ [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/f243156b.46fa0740.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/95244615.aa8e85ff.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/f243156b.2711cc34.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/95244615.6d74d7af.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/dashboard/USER_GUIDE/index.html b/docs/dashboard/USER_GUIDE/index.html
index 3c43559..bb2a1e7 100644
--- a/docs/dashboard/USER_GUIDE/index.html
+++ b/docs/dashboard/USER_GUIDE/index.html
@@ -15,27 +15,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">User Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/f243156b.46fa0740.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/9d971112.fa647595.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/f243156b.2711cc34.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/9d971112.15b32393.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/f243156b.46fa0740.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/9d971112.fa647595.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/f243156b.2711cc34.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/9d971112.15b32393.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/dashboard/api/api/index.html b/docs/dashboard/api/api/index.html
index 8338912..d98871f 100644
--- a/docs/dashboard/api/api/index.html
+++ b/docs/dashboard/api/api/index.html
@@ -15,27 +15,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 doc of Manager API. | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" conte [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/f243156b.46fa0740.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/034277d8.e1db1246.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/f243156b.2711cc34.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/034277d8.282e79cc.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/f243156b.46fa0740.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/034277d8.e1db1246.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/f243156b.2711cc34.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/034277d8.282e79cc.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/dashboard/back-end-tests/index.html b/docs/dashboard/back-end-tests/index.html
index f5dfa69..ccf8b1a 100644
--- a/docs/dashboard/back-end-tests/index.html
+++ b/docs/dashboard/back-end-tests/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Backend Tests | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-d [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/f243156b.46fa0740.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/da9aeeeb.da5379af.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/f243156b.2711cc34.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/da9aeeeb.5c3972f4.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -35,14 +35,14 @@ For more details, run</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockCon
 high expressiveness which makes reading and writing tests a pleasure.</p><ul><li><p>Enter the E2ENEW folder and execute the command to run all the E2ENEW test suites recursively.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-sh codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain"> cd /(Your ap [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">         table</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token function" style="color:rgb(130, 170, 255)">DescribeTable</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;&lt;logical group 2&gt;&quot;</span><span class="token punctuation" style="color:rgb(199, 14 [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">      </span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></li><li><p>FYI, internally ginkgo reduces each table entries to <code>It</code> block and run all the <code>It</code> bloc [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/f243156b.46fa0740.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/da9aeeeb.da5379af.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/f243156b.2711cc34.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/da9aeeeb.5c3972f4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/dashboard/deploy-with-docker/index.html b/docs/dashboard/deploy-with-docker/index.html
index 4d1f1e2..6e761db 100644
--- a/docs/dashboard/deploy-with-docker/index.html
+++ b/docs/dashboard/deploy-with-docker/index.html
@@ -15,29 +15,29 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 with Docker | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="d [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/f243156b.46fa0740.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/81f18807.8e898f3b.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/f243156b.2711cc34.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/81f18807.4584c8ca.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># For users in mainland China, the `ENABLE_PROXY` parameter can be provided to speed up module downloads.</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ docker build -t apisix-dashboard:$tag . --build-arg ENABLE_PROXY=true</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># If you want to use the latest codes to build, you can specify the `APISIX_DASHBOARD_VERSION` parameter to `master`.</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># This parameter can also be specified as branch name of a specific version, such as `v2.1.1`.</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ docker build -t apisix-d [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/f243156b.46fa0740.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/81f18807.8e898f3b.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/f243156b.2711cc34.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/81f18807.4584c8ca.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/dashboard/deploy-with-rpm/index.html b/docs/dashboard/deploy-with-rpm/index.html
index 32a622d..a8ad632 100644
--- a/docs/dashboard/deploy-with-rpm/index.html
+++ b/docs/dashboard/deploy-with-rpm/index.html
@@ -15,27 +15,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 with RPM | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/f243156b.46fa0740.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/4f34f66f.df52ebeb.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/f243156b.2711cc34.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/4f34f66f.b0eeec54.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/f243156b.46fa0740.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/4f34f66f.df52ebeb.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/f243156b.2711cc34.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/4f34f66f.b0eeec54.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/dashboard/deploy/index.html b/docs/dashboard/deploy/index.html
index 0cbf9b0..eaf638c 100644
--- a/docs/dashboard/deploy/index.html
+++ b/docs/dashboard/deploy/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Deploy with Source Codes | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" cont [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/f243156b.46fa0740.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/bd3a6b69.ae013042.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/f243156b.2711cc34.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/bd3a6b69.c8f243fe.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,14 +33,14 @@
 run:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-sh codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ ./manager-api stop</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex= [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ mv ./output/ /usr/local/apisix-dashboard/</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ manager-api -p /usr/local/apisix-dashboard/</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix-dashboard/edit/master/docs/en/latest/deploy.md" target="_blank" rel="noreferrer noopener"><svg fill="currentC [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/f243156b.46fa0740.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/bd3a6b69.ae013042.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/f243156b.2711cc34.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/bd3a6b69.c8f243fe.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/dashboard/develop/index.html b/docs/dashboard/develop/index.html
index 1501500..707039f 100644
--- a/docs/dashboard/develop/index.html
+++ b/docs/dashboard/develop/index.html
@@ -15,28 +15,28 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Development Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="do [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/f243156b.46fa0740.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/84d2a1f2.2df2b1dc.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/f243156b.2711cc34.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/84d2a1f2.5c82441b.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ yarn start</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ol start="4"><li>If writing an front end E2E test, please refer to the <a href="/docs/dashboard/front-end-e2e">Front End E2E Writing Guide</a></li></ol></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apa [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/f243156b.46fa0740.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/84d2a1f2.2df2b1dc.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/f243156b.2711cc34.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/84d2a1f2.5c82441b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/dashboard/front-end-e2e/index.html b/docs/dashboard/front-end-e2e/index.html
index 41afb6c..8578333 100644
--- a/docs/dashboard/front-end-e2e/index.html
+++ b/docs/dashboard/front-end-e2e/index.html
@@ -15,27 +15,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Frontend E2E | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-do [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/f243156b.46fa0740.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/4b0b9689.18003f85.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/f243156b.2711cc34.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/4b0b9689.aafb35e5.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
-<script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.1b59a140.js"></script>
-<script src="/assets/js/main.f4eaff19.js"></script>
-<script src="/assets/js/1.6d19ec46.js"></script>
-<script src="/assets/js/2.dd50ecc7.js"></script>
-<script src="/assets/js/1be78505.e0d24c13.js"></script>
-<script src="/assets/js/f243156b.46fa0740.js"></script>
-<script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/4b0b9689.18003f85.js"></script>
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/f243156b.2711cc34.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/4b0b9689.aafb35e5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/docker/IGNORE_DOC/index.html b/docs/docker/IGNORE_DOC/index.html
new file mode 100644
index 0000000..f0e55c8
--- /dev/null
+++ b/docs/docker/IGNORE_DOC/index.html
@@ -0,0 +1,41 @@
+<!doctype html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-alpha.fd17476c3">
+<meta name="robots" content="noindex, nofollow">
+<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Apache APISIX™ Blog RSS Feed">
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache APISIX™ Blog Atom Feed">
+<link rel="preconnect" href="https://www.google-analytics.com">
+<link rel="preconnect" href="https://www.googletagmanager.com">
+<script async src="https://www.googletagmanager.com/gtag/js?id=G-WQLBQL6GY3"></script>
+<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-WQLBQL6GY3",{})</script>
+<link rel="search" type="application/opensearchdescription+xml" title="Apache APISIX™" href="/opensearch.xml">
+<link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
+<link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/562da56c.b76d7fe0.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/358566b4.485664fa.js" as="script">
+</head>
+<body>
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/562da56c.b76d7fe0.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/358566b4.485664fa.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/docker/build/index.html b/docs/docker/build/index.html
new file mode 100644
index 0000000..670b4d7
--- /dev/null
+++ b/docs/docker/build/index.html
@@ -0,0 +1,42 @@
+<!doctype html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-alpha.fd17476c3">
+<meta name="robots" content="noindex, nofollow">
+<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Apache APISIX™ Blog RSS Feed">
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache APISIX™ Blog Atom Feed">
+<link rel="preconnect" href="https://www.google-analytics.com">
+<link rel="preconnect" href="https://www.googletagmanager.com">
+<script async src="https://www.googletagmanager.com/gtag/js?id=G-WQLBQL6GY3"></script>
+<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-WQLBQL6GY3",{})</script>
+<link rel="search" type="application/opensearchdescription+xml" title="Apache APISIX™" href="/opensearch.xml">
+<link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
+<link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Build an image from the source codes | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaur [...]
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/562da56c.b76d7fe0.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/74848684.cb209533.js" as="script">
+</head>
+<body>
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">APISIX_VERSION=2.2</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">docker build -t apisix:${APISIX_VERSION}-alpine --build-arg APISIX_VERSION=${APISIX_VERSION} -f alpine/Dockerfile alpine</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ol start="2"><li>install master branch version, whi [...]
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/562da56c.b76d7fe0.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/74848684.cb209533.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/docker/example/index.html b/docs/docker/example/index.html
new file mode 100644
index 0000000..9bd56b8
--- /dev/null
+++ b/docs/docker/example/index.html
@@ -0,0 +1,50 @@
+<!doctype html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-alpha.fd17476c3">
+<meta name="robots" content="noindex, nofollow">
+<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Apache APISIX™ Blog RSS Feed">
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache APISIX™ Blog Atom Feed">
+<link rel="preconnect" href="https://www.google-analytics.com">
+<link rel="preconnect" href="https://www.googletagmanager.com">
+<script async src="https://www.googletagmanager.com/gtag/js?id=G-WQLBQL6GY3"></script>
+<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-WQLBQL6GY3",{})</script>
+<link rel="search" type="application/opensearchdescription+xml" title="Apache APISIX™" href="/opensearch.xml">
+<link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
+<link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Example | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-ap [...]
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/562da56c.b76d7fe0.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/a650e70d.0a23e2c0.js" as="script">
+</head>
+<body>
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">curl http://127.0.0.1:9080/apisix/admin/services/2 -H &#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27; -X PUT -d &#x27;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">{</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    &quot;upstream&quot;: {</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">curl http://127.0.0.1:9080/apisix/admin/routes/12 -H &#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27; -X PUT -d &#x27;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">{</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    &quot;uri&quot;: &quot;/*&quot;,</span></div><div class="token-line" style="color:#bfc7d5"><span class="tok [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">curl http://127.0.0.1:9080/apisix/admin/routes/22 -H &#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27; -X PUT -d &#x27;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">{</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    &quot;uri&quot;: &quot;/*&quot;,</span></div><div class="token-line" style="color:#bfc7d5"><span class="tok [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">curl http://127.0.0.1:9080/apisix/admin/ssl/1 -H &#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27; -X PUT -d &quot;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">{</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    \&quot;cert\&quot;: \&quot;$( cat &#x27;./mkcert/lvh.me+1.pem&#x27;)\&quot;,</span></div><div class="token-line [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">curl http://127.0.0.1:9080/apisix/admin/ssl/2 -H &#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27; -X PUT -d &quot;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">{</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    \&quot;cert\&quot;: \&quot;$( cat &#x27;./mkcert/lvh.me+1.pem&#x27;)\&quot;,</span></div><div class="token-line [...]
+free service to resolve itself along with all subdomains to localhost.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-undefined codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">curl http://web1.lvh.me:9080/hello -v # hello web1</span></div><div class="token-line" style="color:#bfc7d5"><span [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">curl http://web2.lvh.me:9080/hello -v # hello web2</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-undefined codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#2 [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ sudo rm -rf etcd_data/member</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ rm -rf apisix_log/*.log</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix-docker/edit/master/docs/en/latest/example.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" w [...]
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/562da56c.b76d7fe0.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/a650e70d.0a23e2c0.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/docker/manual/index.html b/docs/docker/manual/index.html
new file mode 100644
index 0000000..a74e586
--- /dev/null
+++ b/docs/docker/manual/index.html
@@ -0,0 +1,41 @@
+<!doctype html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-alpha.fd17476c3">
+<meta name="robots" content="noindex, nofollow">
+<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Apache APISIX™ Blog RSS Feed">
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache APISIX™ Blog Atom Feed">
+<link rel="preconnect" href="https://www.google-analytics.com">
+<link rel="preconnect" href="https://www.googletagmanager.com">
+<script async src="https://www.googletagmanager.com/gtag/js?id=G-WQLBQL6GY3"></script>
+<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-WQLBQL6GY3",{})</script>
+<link rel="search" type="application/opensearchdescription+xml" title="Apache APISIX™" href="/opensearch.xml">
+<link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
+<link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Deploy Apache APISIX with Docker | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_t [...]
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/562da56c.b76d7fe0.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/c2f0cd73.4af51e15.js" as="script">
+</head>
+<body>
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<script src="/assets/js/styles.f44d8aad.js"></script>
+<script src="/assets/js/runtime~main.03424be9.js"></script>
+<script src="/assets/js/main.870ee703.js"></script>
+<script src="/assets/js/1.5eb1a32c.js"></script>
+<script src="/assets/js/2.50a5d8dc.js"></script>
+<script src="/assets/js/1be78505.cc383951.js"></script>
+<script src="/assets/js/562da56c.b76d7fe0.js"></script>
+<script src="/assets/js/17896441.95671e70.js"></script>
+<script src="/assets/js/c2f0cd73.4af51e15.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/general/2fa/index.html b/docs/general/2fa/index.html
index 5a8e729..5147144 100644
--- a/docs/general/2fa/index.html
+++ b/docs/general/2fa/index.html
@@ -15,27 +15,27 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">2FA | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-default-cur [...]
-<link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
-<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
-<link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
-<link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
-<link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
-<link rel="preload" href="/assets/js/935f2afb.020ee085.js" as="script">
-<link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/3dc9f306.65510f29.js" as="script">
+<link rel="preload" href="/assets/js/styles.f44d8aad.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.03424be9.js" as="script">
+<link rel="preload" href="/assets/js/main.870ee703.js" as="script">
+<link rel="preload" href="/assets/js/1.5eb1a32c.js" as="script">
+<link rel="preload" href="/assets/js/2.50a5d8dc.js" as="script">
+<link rel="preload" href="/assets/js/1be78505.cc383951.js" as="script">
+<link rel="preload" href="/assets/js/935f2afb.9a1bbfee.js" as="script">
+<link rel="preload" href="/assets/js/17896441.95671e70.js" as="script">
+<link rel="preload" href="/assets/js/3dc9f306.2c8482e3.js" as="script">
 </head>
 <body>
... 14005 lines suppressed ...