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 30de405 Deploy to GitHub pages
30de405 is described below
commit 30de40545d2337919f43fd21fdf7275dcdf70f6c
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Fri Dec 18 09:07:14 2020 +0000
Deploy to GitHub pages
---
apisix/README.html | 1 +
apisix/README/index.html | 1 +
apisix/admin-api.html | 2 +-
apisix/admin-api/index.html | 2 +-
apisix/control-api.html | 66 ++++++++++++++++++++++++++
apisix/control-api/index.html | 66 ++++++++++++++++++++++++++
apisix/plugins/http-logger.html | 15 +++++-
apisix/plugins/http-logger/index.html | 15 +++++-
apisix/plugins/openid-connect.html | 2 +-
apisix/plugins/openid-connect/index.html | 2 +-
apisix/plugins/redirect.html | 2 +-
apisix/plugins/redirect/index.html | 2 +-
apisix/zh-cn/admin-api.html | 2 +-
apisix/zh-cn/admin-api/index.html | 2 +-
apisix/zh-cn/plugins/http-logger.html | 15 +++++-
apisix/zh-cn/plugins/http-logger/index.html | 15 +++++-
apisix/zh-cn/plugins/openid-connect.html | 2 +-
apisix/zh-cn/plugins/openid-connect/index.html | 2 +-
apisix/zh-cn/plugins/redirect.html | 1 +
apisix/zh-cn/plugins/redirect/index.html | 1 +
apisix/zh-cn/plugins/server-info.html | 4 +-
apisix/zh-cn/plugins/server-info/index.html | 4 +-
sitemap.xml | 2 +-
23 files changed, 207 insertions(+), 19 deletions(-)
diff --git a/apisix/README.html b/apisix/README.html
index b32c2fc..c0985cd 100644
--- a/apisix/README.html
+++ b/apisix/README.html
@@ -32,6 +32,7 @@
<li><a href="/apisix/getting-started">Getting Started Guide</a></li>
<li><a href="/apisix/how-to-build">How to build Apache APISIX</a></li>
<li><a href="/apisix/admin-api">Admin API</a></li>
+<li><a href="/apisix/control-api">Control API</a></li>
<li><a href="/apisix/health-check">Health Check</a>: Enable health check on
the upstream node, and will automatically filter unhealthy nodes during load
balancing to ensure system stability.</li>
<li><a href="/apisix/router-radixtree">Router radixtree</a></li>
<li><a href="/apisix/stand-alone">Stand Alone Model</a>: Supports to load
route rules from local yaml file, it is more friendly such as under the
kubernetes(k8s).</li>
diff --git a/apisix/README/index.html b/apisix/README/index.html
index b32c2fc..c0985cd 100644
--- a/apisix/README/index.html
+++ b/apisix/README/index.html
@@ -32,6 +32,7 @@
<li><a href="/apisix/getting-started">Getting Started Guide</a></li>
<li><a href="/apisix/how-to-build">How to build Apache APISIX</a></li>
<li><a href="/apisix/admin-api">Admin API</a></li>
+<li><a href="/apisix/control-api">Control API</a></li>
<li><a href="/apisix/health-check">Health Check</a>: Enable health check on
the upstream node, and will automatically filter unhealthy nodes during load
balancing to ensure system stability.</li>
<li><a href="/apisix/router-radixtree">Router radixtree</a></li>
<li><a href="/apisix/stand-alone">Stand Alone Model</a>: Supports to load
route rules from local yaml file, it is more friendly such as under the
kubernetes(k8s).</li>
diff --git a/apisix/admin-api.html b/apisix/admin-api.html
index 117ab64..f6b3fbb 100644
--- a/apisix/admin-api.html
+++ b/apisix/admin-api.html
@@ -552,7 +552,7 @@ Date: Thu, 26 Dec 2019 08:17:49 GMT
</thead>
<tbody>
<tr><td>type</td><td>required</td><td><code>roundrobin</code> supports the
weight of the load, <code>chash</code> consistency hash,<code>ewma</code>
minimum latency ,pick one of them.see <a
href="https://en.wikipedia.org/wiki/EWMA_chart">https://en.wikipedia.org/wiki/EWMA_chart</a>
for details</td></tr>
-<tr><td>nodes</td><td>required if <code>k8s_deployment_info</code> not
configured</td><td>Hash table, the key of the internal element is the upstream
machine address list, the format is <code>Address + Port</code>, where the
address part can be IP or domain name, such as <code>192.168.1.100:80</code>,
<code>foo.com:80</code>, etc. Value is the weight of the node. In particular,
when the weight value is <code>0</code>, it has a special meaning, which
usually means that the upstream node i [...]
+<tr><td>nodes</td><td>required if <code>k8s_deployment_info</code> not
configured</td><td>Hash table, the key of the internal element is the upstream
machine address list, the format is <code>Address + Port</code>, where the
address part can be IP or domain name, such as <code>192.168.1.100:80</code>,
<code>foo.com:80</code>, etc. Value is the weight of the node. In particular,
when the weight value is <code>0</code>, it has a special meaning, which
usually means that the upstream node i [...]
<tr><td>k8s_deployment_info</td><td>required if <code>nodes</code> not
configured</td><td>fields:
<code>namespace</code>、<code>deploy_name</code>、<code>service_name</code>、<code>port</code>、<code>backend_type</code>,
<code>port</code> is number, <code>backend_type</code> is <code>pod</code> or
<code>service</code>, others is string.</td></tr>
<tr><td>hash_on</td><td>optional</td><td>This option is only valid if the
<code>type</code> is <code>chash</code>. Supported types
<code>vars</code>(Nginx variables), <code>header</code>(custom header),
<code>cookie</code>, <code>consumer</code>, the default value is
<code>vars</code>.</td></tr>
<tr><td>key</td><td>optional</td><td>This option is only valid if the
<code>type</code> is <code>chash</code>. Find the corresponding node
<code>id</code> according to <code>hash_on</code> and <code>key</code>. When
<code>hash_on</code> is set as <code>vars</code>, <code>key</code> is the
required parameter, for now, it support nginx built-in variables like
<code>uri, server_name, server_addr, request_uri, remote_port, remote_addr,
query_string, host, hostname, arg_***</code>, <code>arg_ [...]
diff --git a/apisix/admin-api/index.html b/apisix/admin-api/index.html
index 117ab64..f6b3fbb 100644
--- a/apisix/admin-api/index.html
+++ b/apisix/admin-api/index.html
@@ -552,7 +552,7 @@ Date: Thu, 26 Dec 2019 08:17:49 GMT
</thead>
<tbody>
<tr><td>type</td><td>required</td><td><code>roundrobin</code> supports the
weight of the load, <code>chash</code> consistency hash,<code>ewma</code>
minimum latency ,pick one of them.see <a
href="https://en.wikipedia.org/wiki/EWMA_chart">https://en.wikipedia.org/wiki/EWMA_chart</a>
for details</td></tr>
-<tr><td>nodes</td><td>required if <code>k8s_deployment_info</code> not
configured</td><td>Hash table, the key of the internal element is the upstream
machine address list, the format is <code>Address + Port</code>, where the
address part can be IP or domain name, such as <code>192.168.1.100:80</code>,
<code>foo.com:80</code>, etc. Value is the weight of the node. In particular,
when the weight value is <code>0</code>, it has a special meaning, which
usually means that the upstream node i [...]
+<tr><td>nodes</td><td>required if <code>k8s_deployment_info</code> not
configured</td><td>Hash table, the key of the internal element is the upstream
machine address list, the format is <code>Address + Port</code>, where the
address part can be IP or domain name, such as <code>192.168.1.100:80</code>,
<code>foo.com:80</code>, etc. Value is the weight of the node. In particular,
when the weight value is <code>0</code>, it has a special meaning, which
usually means that the upstream node i [...]
<tr><td>k8s_deployment_info</td><td>required if <code>nodes</code> not
configured</td><td>fields:
<code>namespace</code>、<code>deploy_name</code>、<code>service_name</code>、<code>port</code>、<code>backend_type</code>,
<code>port</code> is number, <code>backend_type</code> is <code>pod</code> or
<code>service</code>, others is string.</td></tr>
<tr><td>hash_on</td><td>optional</td><td>This option is only valid if the
<code>type</code> is <code>chash</code>. Supported types
<code>vars</code>(Nginx variables), <code>header</code>(custom header),
<code>cookie</code>, <code>consumer</code>, the default value is
<code>vars</code>.</td></tr>
<tr><td>key</td><td>optional</td><td>This option is only valid if the
<code>type</code> is <code>chash</code>. Find the corresponding node
<code>id</code> according to <code>hash_on</code> and <code>key</code>. When
<code>hash_on</code> is set as <code>vars</code>, <code>key</code> is the
required parameter, for now, it support nginx built-in variables like
<code>uri, server_name, server_addr, request_uri, remote_port, remote_addr,
query_string, host, hostname, arg_***</code>, <code>arg_ [...]
diff --git a/apisix/control-api.html b/apisix/control-api.html
new file mode 100644
index 0000000..a901975
--- /dev/null
+++ b/apisix/control-api.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta
http-equiv="X-UA-Compatible" content="IE=edge"/><title>apisix/control-api ·
Apache APISIX™</title><meta name="viewport" content="width=device-width"/><meta
name="generator" content="Docusaurus"/><meta name="description"
content="<!--"/><meta name="docsearch:language" content="en"/><meta
property="og:title" content="apisix/control-api · Apache APISIX™"/><meta
property="og:type" content="website"/><meta property="og:url" [...]
+ document.addEventListener('DOMContentLoaded', function() {
+ addBackToTop(
+ {"zIndex":100}
+ )
+ });
+ </script><script src="/js/scrollSpy.js"></script><link
rel="stylesheet" href="/css/main.css"/><script
src="/js/codetabs.js"></script></head><body class="sideNavVisible
separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper
wrapper"><header><a href="/"><img class="logo" src="/img/logo.png" alt="Apache
APISIX™"/><h2 class="headerTitleWithLogo">Apache APISIX™</h2></a><div
class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul
class="nav-site n [...]
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+<p>The control API can be used to</p>
+<ul>
+<li>expose APISIX internal state</li>
+<li>control the behavior of a single isolate APISIX data panel</li>
+</ul>
+<p>By default, the control API server is enabled and listens to
<code>127.0.0.1:9090</code>. You can change it via
+the <code>control</code> section under <code>apisix</code> in
<code>conf/config.yaml</code>:</p>
+<pre><code class="hljs css language-yaml"><span
class="hljs-attr">apisix:</span>
+ <span class="hljs-string">...</span>
+ <span class="hljs-attr">enable_control:</span> <span
class="hljs-literal">true</span>
+ <span class="hljs-attr">control:</span>
+ <span class="hljs-attr">ip:</span> <span
class="hljs-string">"127.0.0.1"</span>
+ <span class="hljs-attr">port:</span> <span class="hljs-number">9090</span>
+</code></pre>
+<p>Note that the control API server should not be configured to listen to the
public traffic!</p>
+<h2><a class="anchor" aria-hidden="true"
id="control-api-added-via-plugin"></a><a href="#control-api-added-via-plugin"
aria-hidden="true" class="hash-link"><svg class="hash-link-icon"
aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16"
width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4
3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10
5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2
2.5S13.98 12 13 [...]
+<p>Plugin can add its control API when it is enabled.
+If a plugin adds such a control API, please refer to each plugin's
documentation for those APIs.</p>
+<h2><a class="anchor" aria-hidden="true"
id="plugin-independent-control-api"></a><a
href="#plugin-independent-control-api" aria-hidden="true"
class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16"
version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4
9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2
3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4
9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 1 [...]
+<p>Here is the supported API:</p>
+<h3><a class="anchor" aria-hidden="true" id="get-v1schema"></a><a
href="#get-v1schema" aria-hidden="true" class="hash-link"><svg
class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0
0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5
0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2
3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4
9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
+<p>Introduced since <code>v2.2</code>.</p>
+<p>Return the jsonschema used by this APISIX instance.</p>
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav
class="onPageNav"><ul class="toc-headings"><li><a
href="#control-api-added-via-plugin">Control API Added via
plugin</a></li><li><a href="#plugin-independent-control-api">Plugin independent
Control API</a><ul class="toc-headings"><li><a href="#get-v1schema">GET
/v1/schema</a></li></ul></li></ul></nav></div><footer class="nav-footer"
id="footer"><section class="sitemap"><a href="/" class="nav-home"></a><div><h5>
[...]
+ document.addEventListener('keyup', function(e) {
+ if (e.target !== document.body) {
+ return;
+ }
+ // keyCode for '/' (slash)
+ if (e.keyCode === 191) {
+ const search =
document.getElementById('search_input_react');
+ search && search.focus();
+ }
+ });
+ </script><script>
+ var search = docsearch({
+ appId: 'ZHVP417Y1Y',
+ apiKey: '79e72fedcf3719ba85c552f710ade8a3',
+ indexName: 'apache-apisix-website',
+ inputSelector: '#search_input_react'
+ });
+ </script></body></html>
\ No newline at end of file
diff --git a/apisix/control-api/index.html b/apisix/control-api/index.html
new file mode 100644
index 0000000..a901975
--- /dev/null
+++ b/apisix/control-api/index.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta
http-equiv="X-UA-Compatible" content="IE=edge"/><title>apisix/control-api ·
Apache APISIX™</title><meta name="viewport" content="width=device-width"/><meta
name="generator" content="Docusaurus"/><meta name="description"
content="<!--"/><meta name="docsearch:language" content="en"/><meta
property="og:title" content="apisix/control-api · Apache APISIX™"/><meta
property="og:type" content="website"/><meta property="og:url" [...]
+ document.addEventListener('DOMContentLoaded', function() {
+ addBackToTop(
+ {"zIndex":100}
+ )
+ });
+ </script><script src="/js/scrollSpy.js"></script><link
rel="stylesheet" href="/css/main.css"/><script
src="/js/codetabs.js"></script></head><body class="sideNavVisible
separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper
wrapper"><header><a href="/"><img class="logo" src="/img/logo.png" alt="Apache
APISIX™"/><h2 class="headerTitleWithLogo">Apache APISIX™</h2></a><div
class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul
class="nav-site n [...]
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+<p>The control API can be used to</p>
+<ul>
+<li>expose APISIX internal state</li>
+<li>control the behavior of a single isolate APISIX data panel</li>
+</ul>
+<p>By default, the control API server is enabled and listens to
<code>127.0.0.1:9090</code>. You can change it via
+the <code>control</code> section under <code>apisix</code> in
<code>conf/config.yaml</code>:</p>
+<pre><code class="hljs css language-yaml"><span
class="hljs-attr">apisix:</span>
+ <span class="hljs-string">...</span>
+ <span class="hljs-attr">enable_control:</span> <span
class="hljs-literal">true</span>
+ <span class="hljs-attr">control:</span>
+ <span class="hljs-attr">ip:</span> <span
class="hljs-string">"127.0.0.1"</span>
+ <span class="hljs-attr">port:</span> <span class="hljs-number">9090</span>
+</code></pre>
+<p>Note that the control API server should not be configured to listen to the
public traffic!</p>
+<h2><a class="anchor" aria-hidden="true"
id="control-api-added-via-plugin"></a><a href="#control-api-added-via-plugin"
aria-hidden="true" class="hash-link"><svg class="hash-link-icon"
aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16"
width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4
3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10
5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2
2.5S13.98 12 13 [...]
+<p>Plugin can add its control API when it is enabled.
+If a plugin adds such a control API, please refer to each plugin's
documentation for those APIs.</p>
+<h2><a class="anchor" aria-hidden="true"
id="plugin-independent-control-api"></a><a
href="#plugin-independent-control-api" aria-hidden="true"
class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16"
version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4
9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2
3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4
9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 1 [...]
+<p>Here is the supported API:</p>
+<h3><a class="anchor" aria-hidden="true" id="get-v1schema"></a><a
href="#get-v1schema" aria-hidden="true" class="hash-link"><svg
class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0
0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5
0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2
3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4
9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
+<p>Introduced since <code>v2.2</code>.</p>
+<p>Return the jsonschema used by this APISIX instance.</p>
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav
class="onPageNav"><ul class="toc-headings"><li><a
href="#control-api-added-via-plugin">Control API Added via
plugin</a></li><li><a href="#plugin-independent-control-api">Plugin independent
Control API</a><ul class="toc-headings"><li><a href="#get-v1schema">GET
/v1/schema</a></li></ul></li></ul></nav></div><footer class="nav-footer"
id="footer"><section class="sitemap"><a href="/" class="nav-home"></a><div><h5>
[...]
+ document.addEventListener('keyup', function(e) {
+ if (e.target !== document.body) {
+ return;
+ }
+ // keyCode for '/' (slash)
+ if (e.keyCode === 191) {
+ const search =
document.getElementById('search_input_react');
+ search && search.focus();
+ }
+ });
+ </script><script>
+ var search = docsearch({
+ appId: 'ZHVP417Y1Y',
+ apiKey: '79e72fedcf3719ba85c552f710ade8a3',
+ indexName: 'apache-apisix-website',
+ inputSelector: '#search_input_react'
+ });
+ </script></body></html>
\ No newline at end of file
diff --git a/apisix/plugins/http-logger.html b/apisix/plugins/http-logger.html
index 1c219ba..1d0e11b 100644
--- a/apisix/plugins/http-logger.html
+++ b/apisix/plugins/http-logger.html
@@ -89,10 +89,23 @@ hello, world
<tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr>
</thead>
<tbody>
-<tr><td>log_format</td><td>object</td><td>optional</td><td>{"host":
"$host", "@timestamp": "$time_iso8601",
"client_ip": "$remote_addr"}</td><td></td><td>Log format
declared as JSON object. Only string is supported in the <code>value</code>
part. If the value starts with <code>$</code>, the value is <a
href="http://nginx.org/en/docs/varindex.html">Nginx variable</a>.</td></tr>
+<tr><td>log_format</td><td>object</td><td>optional</td><td>{"host":
"$host", "@timestamp": "$time_iso8601",
"client_ip": "$remote_addr"}</td><td></td><td>Log format
declared as JSON object. Only string is supported in the <code>value</code>
part. If the value starts with <code>$</code>, it means to get
<code>APISIX</code> variables or <a
href="http://nginx.org/en/docs/varindex.html">Nginx variable</a>.</td></tr>
</tbody>
</table>
<p>Note that the metadata configuration is applied in global scope, which
means it will take effect on all Route or Service which use http-logger
plugin.</p>
+<p><strong>APISIX Variables</strong></p>
+<table>
+<thead>
+<tr><th>Variable Name</th><th>Description</th><th>Usage Example</th></tr>
+</thead>
+<tbody>
+<tr><td>route_id</td><td>id of <code>route</code></td><td>$route_id</td></tr>
+<tr><td>route_name</td><td>name of
<code>route</code></td><td>$route_name</td></tr>
+<tr><td>service_id</td><td>id of
<code>service</code></td><td>$service_id</td></tr>
+<tr><td>service_name</td><td>name of
<code>service</code></td><td>$service_name</td></tr>
+<tr><td>consumer_name</td><td>username of
<code>consumer</code></td><td>$consumer_name</td></tr>
+</tbody>
+</table>
<h3><a class="anchor" aria-hidden="true" id="example"></a><a href="#example"
aria-hidden="true" class="hash-link"><svg class="hash-link-icon"
aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16"
width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4
3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10
5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2
2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
<pre><code class="hljs css language-shell">curl
http://127.0.0.1:9080/apisix/admin/plugin_metadata/http-logger -H 'X-API-KEY:
edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
diff --git a/apisix/plugins/http-logger/index.html
b/apisix/plugins/http-logger/index.html
index 1c219ba..1d0e11b 100644
--- a/apisix/plugins/http-logger/index.html
+++ b/apisix/plugins/http-logger/index.html
@@ -89,10 +89,23 @@ hello, world
<tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr>
</thead>
<tbody>
-<tr><td>log_format</td><td>object</td><td>optional</td><td>{"host":
"$host", "@timestamp": "$time_iso8601",
"client_ip": "$remote_addr"}</td><td></td><td>Log format
declared as JSON object. Only string is supported in the <code>value</code>
part. If the value starts with <code>$</code>, the value is <a
href="http://nginx.org/en/docs/varindex.html">Nginx variable</a>.</td></tr>
+<tr><td>log_format</td><td>object</td><td>optional</td><td>{"host":
"$host", "@timestamp": "$time_iso8601",
"client_ip": "$remote_addr"}</td><td></td><td>Log format
declared as JSON object. Only string is supported in the <code>value</code>
part. If the value starts with <code>$</code>, it means to get
<code>APISIX</code> variables or <a
href="http://nginx.org/en/docs/varindex.html">Nginx variable</a>.</td></tr>
</tbody>
</table>
<p>Note that the metadata configuration is applied in global scope, which
means it will take effect on all Route or Service which use http-logger
plugin.</p>
+<p><strong>APISIX Variables</strong></p>
+<table>
+<thead>
+<tr><th>Variable Name</th><th>Description</th><th>Usage Example</th></tr>
+</thead>
+<tbody>
+<tr><td>route_id</td><td>id of <code>route</code></td><td>$route_id</td></tr>
+<tr><td>route_name</td><td>name of
<code>route</code></td><td>$route_name</td></tr>
+<tr><td>service_id</td><td>id of
<code>service</code></td><td>$service_id</td></tr>
+<tr><td>service_name</td><td>name of
<code>service</code></td><td>$service_name</td></tr>
+<tr><td>consumer_name</td><td>username of
<code>consumer</code></td><td>$consumer_name</td></tr>
+</tbody>
+</table>
<h3><a class="anchor" aria-hidden="true" id="example"></a><a href="#example"
aria-hidden="true" class="hash-link"><svg class="hash-link-icon"
aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16"
width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4
3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10
5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2
2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
<pre><code class="hljs css language-shell">curl
http://127.0.0.1:9080/apisix/admin/plugin_metadata/http-logger -H 'X-API-KEY:
edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
diff --git a/apisix/plugins/openid-connect.html
b/apisix/plugins/openid-connect.html
index 03525de..a2d2edb 100644
--- a/apisix/plugins/openid-connect.html
+++ b/apisix/plugins/openid-connect.html
@@ -47,7 +47,7 @@
<tr><td>bearer_only</td><td>boolean</td><td>optional</td><td>false</td><td></td><td>Setting
this <code>true</code> will check for the authorization header in the request
with a bearer token</td></tr>
<tr><td>logout_path</td><td>string</td><td>optional</td><td>"/logout"</td><td></td><td></td></tr>
<tr><td>redirect_uri</td><td>string</td><td>optional</td><td>"ngx.var.request_uri"</td><td></td><td></td></tr>
-<tr><td>timeout</td><td>integer</td><td>optional</td><td>3</td><td>[1,...]</td><td></td></tr>
+<tr><td>timeout</td><td>integer</td><td>optional</td><td>3</td><td>[1,...]</td><td>Timeout
in seconds</td></tr>
<tr><td>ssl_verify</td><td>boolean</td><td>optional</td><td>false</td><td></td><td></td></tr>
<tr><td>introspection_endpoint</td><td>string</td><td>optional</td><td></td><td></td><td>URL
of the token verification endpoint of the identity server</td></tr>
<tr><td>introspection_endpoint_auth_method</td><td>string</td><td>optional</td><td>"client_secret_basic"</td><td></td><td>Authentication
method name for token introspection</td></tr>
diff --git a/apisix/plugins/openid-connect/index.html
b/apisix/plugins/openid-connect/index.html
index 03525de..a2d2edb 100644
--- a/apisix/plugins/openid-connect/index.html
+++ b/apisix/plugins/openid-connect/index.html
@@ -47,7 +47,7 @@
<tr><td>bearer_only</td><td>boolean</td><td>optional</td><td>false</td><td></td><td>Setting
this <code>true</code> will check for the authorization header in the request
with a bearer token</td></tr>
<tr><td>logout_path</td><td>string</td><td>optional</td><td>"/logout"</td><td></td><td></td></tr>
<tr><td>redirect_uri</td><td>string</td><td>optional</td><td>"ngx.var.request_uri"</td><td></td><td></td></tr>
-<tr><td>timeout</td><td>integer</td><td>optional</td><td>3</td><td>[1,...]</td><td></td></tr>
+<tr><td>timeout</td><td>integer</td><td>optional</td><td>3</td><td>[1,...]</td><td>Timeout
in seconds</td></tr>
<tr><td>ssl_verify</td><td>boolean</td><td>optional</td><td>false</td><td></td><td></td></tr>
<tr><td>introspection_endpoint</td><td>string</td><td>optional</td><td></td><td></td><td>URL
of the token verification endpoint of the identity server</td></tr>
<tr><td>introspection_endpoint_auth_method</td><td>string</td><td>optional</td><td>"client_secret_basic"</td><td></td><td>Authentication
method name for token introspection</td></tr>
diff --git a/apisix/plugins/redirect.html b/apisix/plugins/redirect.html
index fa43361..658e1bb 100644
--- a/apisix/plugins/redirect.html
+++ b/apisix/plugins/redirect.html
@@ -46,7 +46,7 @@
<tr><td>ret_code</td><td>string</td><td>optional</td><td>302</td><td>[200,
...]</td><td>Response code</td></tr>
</tbody>
</table>
-<p>One of <code>http_to_https</code> and <code>uri</code> need to be
specified.</p>
+<p>Only one of <code>http_to_https</code> or <code>uri</code> can be
specified.</p>
<h2><a class="anchor" aria-hidden="true" id="how-to-enable"></a><a
href="#how-to-enable" aria-hidden="true" class="hash-link"><svg
class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0
0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5
0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2
3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4
9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
<p>Here's a mini example, enable the <code>redirect</code> plugin on the
specified route:</p>
<pre><code class="hljs css language-shell">curl
http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY:
edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
diff --git a/apisix/plugins/redirect/index.html
b/apisix/plugins/redirect/index.html
index fa43361..658e1bb 100644
--- a/apisix/plugins/redirect/index.html
+++ b/apisix/plugins/redirect/index.html
@@ -46,7 +46,7 @@
<tr><td>ret_code</td><td>string</td><td>optional</td><td>302</td><td>[200,
...]</td><td>Response code</td></tr>
</tbody>
</table>
-<p>One of <code>http_to_https</code> and <code>uri</code> need to be
specified.</p>
+<p>Only one of <code>http_to_https</code> or <code>uri</code> can be
specified.</p>
<h2><a class="anchor" aria-hidden="true" id="how-to-enable"></a><a
href="#how-to-enable" aria-hidden="true" class="hash-link"><svg
class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0
0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5
0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2
3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4
9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
<p>Here's a mini example, enable the <code>redirect</code> plugin on the
specified route:</p>
<pre><code class="hljs css language-shell">curl
http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY:
edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
diff --git a/apisix/zh-cn/admin-api.html b/apisix/zh-cn/admin-api.html
index 975f96c..a41230c 100644
--- a/apisix/zh-cn/admin-api.html
+++ b/apisix/zh-cn/admin-api.html
@@ -561,7 +561,7 @@ Date: Thu, 26 Dec 2019 08:17:49 GMT
<tr><th>名字</th><th>可选项</th><th>类型</th><th>说明</th><th>示例</th></tr>
</thead>
<tbody>
-<tr><td>nodes</td><td>与 <code>k8s_deployment_info</code>
二选一</td><td>Node</td><td>哈希表,内部元素的 key 是上游机器地址列表,格式为<code>地址 +
Port</code>,其中地址部分可以是 IP 也可以是域名,比如
<code>192.168.1.100:80</code>、<code>foo.com:80</code>等。value 则是节点的权重,特别的,当权重值为
<code>0</code>
有特殊含义,通常代表该上游节点失效,永远不希望被选中。</td><td><code>192.168.1.100:80</code></td></tr>
+<tr><td>nodes</td><td>与 <code>k8s_deployment_info</code>
二选一</td><td>Node</td><td>哈希表,内部元素的 key 是上游机器地址列表,格式为<code>地址 +
Port</code>,其中地址部分可以是 IP 也可以是域名,比如
<code>192.168.1.100:80</code>、<code>foo.com:80</code>等。value 则是节点的权重,特别的,当权重值为
<code>0</code> 有特殊含义,通常代表该上游节点失效,永远不希望被选中。<code>nodes</code>
可以为空,这通常用作占位符。客户端命中这样的上游会返回 502。</td><td><code>192.168.1.100:80</code></td></tr>
<tr><td>k8s_deployment_info</td><td>与 <code>nodes</code>
二选一</td><td>哈希表</td><td>字段包括
<code>namespace</code>、<code>deploy_name</code>、<code>service_name</code>、<code>port</code>、<code>backend_type</code>,其中
<code>port</code> 字段为数值,<code>backend_type</code> 为 <code>pod</code> 或
<code>service</code>,其他为字符串</td><td><code>{"namespace":
"test-namespace", "deploy_name":
"test-deploy-name", "service_name":
"test-service-name", "ba [...]
<tr><td>type</td><td>必需</td><td>枚举</td><td><code>roundrobin</code>
支持权重的负载,<code>chash</code>
一致性哈希,两者是二选一的</td><td><code>roundrobin</code></td><td></td></tr>
<tr><td>key</td><td>条件必需</td><td>匹配类型</td><td>该选项只有类型是 <code>chash</code>
才有效。根据 <code>key</code> 来查找对应的 node <code>id</code>,相同的 <code>key</code>
在同一个对象中,永远返回相同 id,目前支持的 Nginx 内置变量有 <code>uri, server_name, server_addr,
request_uri, remote_port, remote_addr, query_string, host, hostname,
arg_***</code>,其中 <code>arg_***</code> 是来自URL的请求参数,<a
href="http://nginx.org/en/docs/varindex.html">Nginx 变量列表</a></td><td></td></tr>
diff --git a/apisix/zh-cn/admin-api/index.html
b/apisix/zh-cn/admin-api/index.html
index 975f96c..a41230c 100644
--- a/apisix/zh-cn/admin-api/index.html
+++ b/apisix/zh-cn/admin-api/index.html
@@ -561,7 +561,7 @@ Date: Thu, 26 Dec 2019 08:17:49 GMT
<tr><th>名字</th><th>可选项</th><th>类型</th><th>说明</th><th>示例</th></tr>
</thead>
<tbody>
-<tr><td>nodes</td><td>与 <code>k8s_deployment_info</code>
二选一</td><td>Node</td><td>哈希表,内部元素的 key 是上游机器地址列表,格式为<code>地址 +
Port</code>,其中地址部分可以是 IP 也可以是域名,比如
<code>192.168.1.100:80</code>、<code>foo.com:80</code>等。value 则是节点的权重,特别的,当权重值为
<code>0</code>
有特殊含义,通常代表该上游节点失效,永远不希望被选中。</td><td><code>192.168.1.100:80</code></td></tr>
+<tr><td>nodes</td><td>与 <code>k8s_deployment_info</code>
二选一</td><td>Node</td><td>哈希表,内部元素的 key 是上游机器地址列表,格式为<code>地址 +
Port</code>,其中地址部分可以是 IP 也可以是域名,比如
<code>192.168.1.100:80</code>、<code>foo.com:80</code>等。value 则是节点的权重,特别的,当权重值为
<code>0</code> 有特殊含义,通常代表该上游节点失效,永远不希望被选中。<code>nodes</code>
可以为空,这通常用作占位符。客户端命中这样的上游会返回 502。</td><td><code>192.168.1.100:80</code></td></tr>
<tr><td>k8s_deployment_info</td><td>与 <code>nodes</code>
二选一</td><td>哈希表</td><td>字段包括
<code>namespace</code>、<code>deploy_name</code>、<code>service_name</code>、<code>port</code>、<code>backend_type</code>,其中
<code>port</code> 字段为数值,<code>backend_type</code> 为 <code>pod</code> 或
<code>service</code>,其他为字符串</td><td><code>{"namespace":
"test-namespace", "deploy_name":
"test-deploy-name", "service_name":
"test-service-name", "ba [...]
<tr><td>type</td><td>必需</td><td>枚举</td><td><code>roundrobin</code>
支持权重的负载,<code>chash</code>
一致性哈希,两者是二选一的</td><td><code>roundrobin</code></td><td></td></tr>
<tr><td>key</td><td>条件必需</td><td>匹配类型</td><td>该选项只有类型是 <code>chash</code>
才有效。根据 <code>key</code> 来查找对应的 node <code>id</code>,相同的 <code>key</code>
在同一个对象中,永远返回相同 id,目前支持的 Nginx 内置变量有 <code>uri, server_name, server_addr,
request_uri, remote_port, remote_addr, query_string, host, hostname,
arg_***</code>,其中 <code>arg_***</code> 是来自URL的请求参数,<a
href="http://nginx.org/en/docs/varindex.html">Nginx 变量列表</a></td><td></td></tr>
diff --git a/apisix/zh-cn/plugins/http-logger.html
b/apisix/zh-cn/plugins/http-logger.html
index 61cc9fa..f9b59fe 100644
--- a/apisix/zh-cn/plugins/http-logger.html
+++ b/apisix/zh-cn/plugins/http-logger.html
@@ -89,7 +89,20 @@ hello, world
<tr><th>名称</th><th>类型</th><th>必选项</th><th>默认值</th><th>有效值</th><th>描述</th></tr>
</thead>
<tbody>
-<tr><td>log_format</td><td>object</td><td>可选</td><td>{"host":
"$host", "@timestamp": "$time_iso8601",
"client_ip": "$remote_addr"}</td><td></td><td>以 Hash
对象方式声明日志格式。对 value 部分,仅支持字符串。如果是以<code>$</code>开头,则表明是要获取 <a
href="http://nginx.org/en/docs/varindex.html">Nginx
内置变量</a>。特别的,该设置是全局生效的,意味着指定 log_format 后,将对所有绑定 http-logger 的 Route 或 Service
生效。</td></tr>
+<tr><td>log_format</td><td>object</td><td>可选</td><td>{"host":
"$host", "@timestamp": "$time_iso8601",
"client_ip": "$remote_addr"}</td><td></td><td>以 JSON
对象方式声明日志格式。对 value 部分,仅支持字符串。如果是以 <code>$</code> 开头,则表明是要获取
<strong>APISIX</strong> 变量或 <a
href="http://nginx.org/en/docs/varindex.html">Nginx
内置变量</a>。特别的,该设置是全局生效的,意味着指定 log_format 后,将对所有绑定 http-logger 的 Route 或 Service
生效。</td></tr>
+</tbody>
+</table>
+<p><strong>APISIX 变量</strong></p>
+<table>
+<thead>
+<tr><th>变量名</th><th>描述</th><th>使用示例</th></tr>
+</thead>
+<tbody>
+<tr><td>route_id</td><td><code>route</code> 的 id</td><td>$route_id</td></tr>
+<tr><td>route_name</td><td><code>route</code> 的
name</td><td>$route_name</td></tr>
+<tr><td>service_id</td><td><code>service</code> 的
id</td><td>$service_id</td></tr>
+<tr><td>service_name</td><td><code>service</code> 的
name</td><td>$service_name</td></tr>
+<tr><td>consumer_name</td><td><code>consumer</code> 的
username</td><td>$consumer_name</td></tr>
</tbody>
</table>
<h3><a class="anchor" aria-hidden="true" id="设置日志格式示例"></a><a href="#设置日志格式示例"
aria-hidden="true" class="hash-link"><svg class="hash-link-icon"
aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16"
width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4
3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10
5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2
2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 [...]
diff --git a/apisix/zh-cn/plugins/http-logger/index.html
b/apisix/zh-cn/plugins/http-logger/index.html
index 61cc9fa..f9b59fe 100644
--- a/apisix/zh-cn/plugins/http-logger/index.html
+++ b/apisix/zh-cn/plugins/http-logger/index.html
@@ -89,7 +89,20 @@ hello, world
<tr><th>名称</th><th>类型</th><th>必选项</th><th>默认值</th><th>有效值</th><th>描述</th></tr>
</thead>
<tbody>
-<tr><td>log_format</td><td>object</td><td>可选</td><td>{"host":
"$host", "@timestamp": "$time_iso8601",
"client_ip": "$remote_addr"}</td><td></td><td>以 Hash
对象方式声明日志格式。对 value 部分,仅支持字符串。如果是以<code>$</code>开头,则表明是要获取 <a
href="http://nginx.org/en/docs/varindex.html">Nginx
内置变量</a>。特别的,该设置是全局生效的,意味着指定 log_format 后,将对所有绑定 http-logger 的 Route 或 Service
生效。</td></tr>
+<tr><td>log_format</td><td>object</td><td>可选</td><td>{"host":
"$host", "@timestamp": "$time_iso8601",
"client_ip": "$remote_addr"}</td><td></td><td>以 JSON
对象方式声明日志格式。对 value 部分,仅支持字符串。如果是以 <code>$</code> 开头,则表明是要获取
<strong>APISIX</strong> 变量或 <a
href="http://nginx.org/en/docs/varindex.html">Nginx
内置变量</a>。特别的,该设置是全局生效的,意味着指定 log_format 后,将对所有绑定 http-logger 的 Route 或 Service
生效。</td></tr>
+</tbody>
+</table>
+<p><strong>APISIX 变量</strong></p>
+<table>
+<thead>
+<tr><th>变量名</th><th>描述</th><th>使用示例</th></tr>
+</thead>
+<tbody>
+<tr><td>route_id</td><td><code>route</code> 的 id</td><td>$route_id</td></tr>
+<tr><td>route_name</td><td><code>route</code> 的
name</td><td>$route_name</td></tr>
+<tr><td>service_id</td><td><code>service</code> 的
id</td><td>$service_id</td></tr>
+<tr><td>service_name</td><td><code>service</code> 的
name</td><td>$service_name</td></tr>
+<tr><td>consumer_name</td><td><code>consumer</code> 的
username</td><td>$consumer_name</td></tr>
</tbody>
</table>
<h3><a class="anchor" aria-hidden="true" id="设置日志格式示例"></a><a href="#设置日志格式示例"
aria-hidden="true" class="hash-link"><svg class="hash-link-icon"
aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16"
width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4
3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10
5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2
2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 [...]
diff --git a/apisix/zh-cn/plugins/openid-connect.html
b/apisix/zh-cn/plugins/openid-connect.html
index 8678e04..594af9e 100644
--- a/apisix/zh-cn/plugins/openid-connect.html
+++ b/apisix/zh-cn/plugins/openid-connect.html
@@ -47,7 +47,7 @@
<tr><td>bearer_only</td><td>boolean</td><td>可选</td><td>false</td><td></td><td>设置为<code>true</code>将检查请求中带有承载令牌的授权标头</td></tr>
<tr><td>logout_path</td><td>string</td><td>可选</td><td>"/logout"</td><td></td><td></td></tr>
<tr><td>redirect_uri</td><td>string</td><td>可选</td><td>"ngx.var.request_uri"</td><td></td><td></td></tr>
-<tr><td>timeout</td><td>integer</td><td>可选</td><td>3</td><td>[1,...]</td><td></td></tr>
+<tr><td>timeout</td><td>integer</td><td>可选</td><td>3</td><td>[1,...]</td><td>超时时间,单位为秒</td></tr>
<tr><td>ssl_verify</td><td>boolean</td><td>可选</td><td>false</td><td></td><td></td></tr>
<tr><td>introspection_endpoint</td><td>string</td><td>可选</td><td></td><td></td><td>身份服务器的令牌验证端点的
URL</td></tr>
<tr><td>introspection_endpoint_auth_method</td><td>string</td><td>可选</td><td>"client_secret_basic"</td><td></td><td>令牌自省的认证方法名称</td></tr>
diff --git a/apisix/zh-cn/plugins/openid-connect/index.html
b/apisix/zh-cn/plugins/openid-connect/index.html
index 8678e04..594af9e 100644
--- a/apisix/zh-cn/plugins/openid-connect/index.html
+++ b/apisix/zh-cn/plugins/openid-connect/index.html
@@ -47,7 +47,7 @@
<tr><td>bearer_only</td><td>boolean</td><td>可选</td><td>false</td><td></td><td>设置为<code>true</code>将检查请求中带有承载令牌的授权标头</td></tr>
<tr><td>logout_path</td><td>string</td><td>可选</td><td>"/logout"</td><td></td><td></td></tr>
<tr><td>redirect_uri</td><td>string</td><td>可选</td><td>"ngx.var.request_uri"</td><td></td><td></td></tr>
-<tr><td>timeout</td><td>integer</td><td>可选</td><td>3</td><td>[1,...]</td><td></td></tr>
+<tr><td>timeout</td><td>integer</td><td>可选</td><td>3</td><td>[1,...]</td><td>超时时间,单位为秒</td></tr>
<tr><td>ssl_verify</td><td>boolean</td><td>可选</td><td>false</td><td></td><td></td></tr>
<tr><td>introspection_endpoint</td><td>string</td><td>可选</td><td></td><td></td><td>身份服务器的令牌验证端点的
URL</td></tr>
<tr><td>introspection_endpoint_auth_method</td><td>string</td><td>可选</td><td>"client_secret_basic"</td><td></td><td>令牌自省的认证方法名称</td></tr>
diff --git a/apisix/zh-cn/plugins/redirect.html
b/apisix/zh-cn/plugins/redirect.html
index ce1d093..5cb0fac 100644
--- a/apisix/zh-cn/plugins/redirect.html
+++ b/apisix/zh-cn/plugins/redirect.html
@@ -38,6 +38,7 @@
<tr><td>ret_code</td><td>string</td><td>可选</td><td>302</td><td>[200,
...]</td><td>请求响应码</td></tr>
</tbody>
</table>
+<p><code>http_to_https</code> 和 <code>uri</code> 两个中只能配置一个。</p>
<h3><a class="anchor" aria-hidden="true" id="示例"></a><a href="#示例"
aria-hidden="true" class="hash-link"><svg class="hash-link-icon"
aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16"
width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4
3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10
5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2
2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c [...]
<h4><a class="anchor" aria-hidden="true" id="启用插件"></a><a href="#启用插件"
aria-hidden="true" class="hash-link"><svg class="hash-link-icon"
aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16"
width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4
3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10
5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2
2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
<p>下面是一个基本实例,为特定路由启用 <code>redirect</code> 插件:</p>
diff --git a/apisix/zh-cn/plugins/redirect/index.html
b/apisix/zh-cn/plugins/redirect/index.html
index ce1d093..5cb0fac 100644
--- a/apisix/zh-cn/plugins/redirect/index.html
+++ b/apisix/zh-cn/plugins/redirect/index.html
@@ -38,6 +38,7 @@
<tr><td>ret_code</td><td>string</td><td>可选</td><td>302</td><td>[200,
...]</td><td>请求响应码</td></tr>
</tbody>
</table>
+<p><code>http_to_https</code> 和 <code>uri</code> 两个中只能配置一个。</p>
<h3><a class="anchor" aria-hidden="true" id="示例"></a><a href="#示例"
aria-hidden="true" class="hash-link"><svg class="hash-link-icon"
aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16"
width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4
3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10
5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2
2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c [...]
<h4><a class="anchor" aria-hidden="true" id="启用插件"></a><a href="#启用插件"
aria-hidden="true" class="hash-link"><svg class="hash-link-icon"
aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16"
width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4
3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10
5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2
2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
<p>下面是一个基本实例,为特定路由启用 <code>redirect</code> 插件:</p>
diff --git a/apisix/zh-cn/plugins/server-info.html
b/apisix/zh-cn/plugins/server-info.html
index 8a0c75c..d628389 100644
--- a/apisix/zh-cn/plugins/server-info.html
+++ b/apisix/zh-cn/plugins/server-info.html
@@ -78,11 +78,11 @@
<tr><td>report_ttl</td><td>integer</td><td>7200</td><td>etcd 中服务信息保存的
TTL(单位:秒,最大值:86400,最小值:3600)</td></tr>
</tbody>
</table>
-<p>下面的例子将 <code>report_interval</code> 修改成了 10 秒,并将 <code>report_ttl</code>
修改成了 1
+<p>下面的例子将 <code>report_interval</code> 修改成了 10 分钟,并将 <code>report_ttl</code>
修改成了 1
小时:</p>
<pre><code class="hljs css language-yaml"><span
class="hljs-attr">plugin_attr:</span>
<span class="hljs-attr">server-info:</span>
- <span class="hljs-attr">report_interval:</span> <span
class="hljs-number">10</span>
+ <span class="hljs-attr">report_interval:</span> <span
class="hljs-number">600</span>
<span class="hljs-attr">report_ttl:</span> <span
class="hljs-number">3600</span>
</code></pre>
<h2><a class="anchor" aria-hidden="true" id="测试插件"></a><a href="#测试插件"
aria-hidden="true" class="hash-link"><svg class="hash-link-icon"
aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16"
width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4
3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10
5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2
2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
diff --git a/apisix/zh-cn/plugins/server-info/index.html
b/apisix/zh-cn/plugins/server-info/index.html
index 8a0c75c..d628389 100644
--- a/apisix/zh-cn/plugins/server-info/index.html
+++ b/apisix/zh-cn/plugins/server-info/index.html
@@ -78,11 +78,11 @@
<tr><td>report_ttl</td><td>integer</td><td>7200</td><td>etcd 中服务信息保存的
TTL(单位:秒,最大值:86400,最小值:3600)</td></tr>
</tbody>
</table>
-<p>下面的例子将 <code>report_interval</code> 修改成了 10 秒,并将 <code>report_ttl</code>
修改成了 1
+<p>下面的例子将 <code>report_interval</code> 修改成了 10 分钟,并将 <code>report_ttl</code>
修改成了 1
小时:</p>
<pre><code class="hljs css language-yaml"><span
class="hljs-attr">plugin_attr:</span>
<span class="hljs-attr">server-info:</span>
- <span class="hljs-attr">report_interval:</span> <span
class="hljs-number">10</span>
+ <span class="hljs-attr">report_interval:</span> <span
class="hljs-number">600</span>
<span class="hljs-attr">report_ttl:</span> <span
class="hljs-number">3600</span>
</code></pre>
<h2><a class="anchor" aria-hidden="true" id="测试插件"></a><a href="#测试插件"
aria-hidden="true" class="hash-link"><svg class="hash-link-icon"
aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16"
width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4
3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10
5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2
2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
diff --git a/sitemap.xml b/sitemap.xml
index 74cabf9..6964e9d 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0"
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://apisix.apache.org/help</loc><changefreq>weekly</changefreq><priority>0.5</priority><x
[...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0"
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://apisix.apache.org/help</loc><changefreq>weekly</changefreq><priority>0.5</priority><x
[...]
\ No newline at end of file