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