このページは、まだ日本語ではご利用いただけません。翻訳中です。
古いプラグインバージョンのドキュメントを閲覧しています。
構成
このプラグインはDBレスモードに対応しています。
互換性のあるプロトコル
Proxy Caching Advancedプラグインは以下のプロトコルに対応しています:
grpc
, grpcs
, http
, https
パラメータ
このプラグインの設定で使用できるすべてのパラメータのリストは次のとおりです。
-
string required
プラグイン名。この場合は
proxy-cache-advanced
。- Kong Admin API、Kong Konnect API、宣言型構成、または decK ファイルを使用する場合、フィールドは
name
です。 - Kubernetes で KongPlugin オブジェクトを使用する場合、フィールドは
plugin
です。
- Kong Admin API、Kong Konnect API、宣言型構成、または decK ファイルを使用する場合、フィールドは
-
string
プラグインのインスタンスを識別するための任意のカスタム名 (例:
proxy-cache-advanced_my-service
。インスタンス名はKong ManagerとKonnectに表示されるので、 例えば複数のサービスで同じプラグインを複数のコンテキストで実行する場合に便利です。また、Kong Admin API経由で特定のプラグインインスタンスに アクセスするためにも使用できます。
インスタンス名は、次のコンテキスト内で一意である必要があります。
- Kong Gateway Enterpriseのワークスペース内
- Konnectのコントロールプレーン(CP)またはコントロールプレーン(CP)グループ内
- Kong Gateway (OSS)の全世界
-
string
プラグインが対象とするサービス名または ID。最上位の
/plugins
エンドポイント. からプラグインをサービスに追加する場合は、これらのパラメータのいずれかを設定してください/services/{serviceName|Id}/plugins
を使用する場合は必要ありません。 -
string
プラグインがターゲットとするルート名または ID。最上位の
/plugins
エンドポイント. を通るルートにプラグインを追加する場合は、これらのパラメータのいずれかを設定してください/routes/{routeName|Id}/plugins
を使用する場合は必要ありません。 -
string
プラグインがターゲットとするコンシューマーの名前または ID。 最上位の
/plugins
エンドポイント. からコンシューマーにプラグインを追加する場合は、これらのパラメーターのいずれかを設定してください/consumers/{consumerName|Id}/plugins
を使用する場合は必要ありません。 -
boolean default:
true
このプラグインが適用されるかどうか。
-
record required
-
array of type
integer
required default:200, 301, 404
len_min:1
Upstream response status code considered cacheable. The integers must be a value between 100 and 900.
-
array of type
string
required default:GET, HEAD
Must be one of:HEAD
,GET
,POST
,PATCH
,PUT
Downstream request methods considered cacheable. Available options:
HEAD
,GET
,POST
,PATCH
,PUT
.
-
array of type
string
required default:text/plain, application/json
Upstream response content types considered cacheable.
The wildcard content type can be used to match any specific type or subtype. For example,
application/*
matches any subtypes of the application,*/*
matches all content types.Note that
*/*
does not match with a content type that contains a parameter (e.g.*/*
would not matchapplication/json; charset=utf-8
). If the response content type does not match the configuration, aBypass
cache status is returned.
-
integer default:
300
TTL in seconds of cache entities.
-
string required Must be one of:
memory
,redis
The backing data store in which to hold cache entities. Accepted values are:
memory
andredis
.
-
boolean required default:
false
When enabled, respect the Cache-Control behaviors defined in RFC7234.
-
boolean default:
false
Determines whether to treat URIs as case sensitive. By default, case sensitivity is enabled. If set to
true
, requests are cached while ignoring case sensitivity in the URI.
-
integer
Number of seconds to keep resources in the storage backend. This value is independent of
cache_ttl
or resource TTLs defined by Cache-Control behaviors.
-
record required
-
array of type
string
Relevant query parameters considered for the cache key. If undefined, all params are taken into consideration.
-
array of type
string
Relevant headers considered for the cache key. If undefined, none of the headers are taken into consideration.
-
record required
-
string
Host to use for Redis connection when the redis strategy is defined.
-
integer between:
0
65535
Port to use for Redis connections when the
redis
strategy is defined. Must be a value between 0 and 65535. Default: 6379.
-
integer default:
2000
between:0
2147483646
Connection timeout to use for Redis connection when the
redis
strategy is defined.
-
integer between:
0
2147483646
-
integer between:
0
2147483646
-
integer between:
0
2147483646
-
string referenceable
-
string referenceable encrypted
Password to use for Redis connection when the
redis
strategy is defined. If undefined, no AUTH commands are sent to Redis.
-
string referenceable
Sentinel username to authenticate with a Redis Sentinel instance. If undefined, ACL authentication will not be performed. This requires Redis v6.2.0+.
-
string referenceable encrypted
Sentinel password to authenticate with a Redis Sentinel instance. If undefined, no AUTH commands are sent to Redis Sentinels.
-
integer default:
0
Database to use for Redis connection when the
redis
strategy is defined.
-
integer default:
30
between:1
2147483646
The size limit for every cosocket connection pool associated with every remote server, per worker process. If no
keepalive_pool_size
is specified and nokeepalive_backlog
is specified, no pool is created. If nokeepalive_pool_size
is specified andkeepalive_backlog
is specified, then the pool uses the default value30
.
-
integer between:
0
2147483646
If specified, limits the total number of opened connections for a pool. If the connection pool is full, all connection queues beyond the maximum limit go into the backlog queue. Once the backlog queue is full, subsequent connect operations will fail and return
nil
. Queued connect operations resume once the number of connections in the pool is less thankeepalive_pool_size
. Note that queued connect operations are subject to set timeouts.
-
string
Sentinel master to use for Redis connection when the
redis
strategy is defined. Defining this value implies using Redis Sentinel.
-
string Must be one of:
master
,slave
,any
Sentinel role to use for Redis connections when the
redis
strategy is defined. Defining this value implies using Redis Sentinel. Available options:master
,slave
,any
.
-
array of type
string
len_min:1
Sentinel addresses to use for Redis connections when the
redis
strategy is defined. Defining this value implies using Redis Sentinel. Each string element must be a hostname. The minimum length of the array is 1 element.
-
array of type
string
len_min:1
Cluster addresses to use for Redis connection when the
redis
strategy is defined. Defining this value implies using Redis cluster. Each string element must be a hostname. The minimum length of the array is 1 element.
-
boolean default:
false
If set to
true
, then uses SSL to connect to Redis. Note: This parameter is only available for Kong Gateway versions 2.2.x and later.
-
boolean default:
false
If set to
true
, then verifies the validity of the server SSL certificate. Note that you need to configure the lua_ssl_trusted_certificate to specify the CA (or server) certificate used by your Redis server. You may also need to configure lua_ssl_verify_depth accordingly. Note: This parameter is only available for Kong Gateway versions 2.2.x and later.
-
string
Specifies the server name for the new TLS extension Server Name Indication (SNI) when connecting over SSL. Note: This parameter is only available for Kong Gateway versions 2.2.x and later.
-
-
boolean default:
false
Unhandled errors while trying to retrieve a cache entry (such as redis down) are resolved with
Bypass
, with the request going upstream.
-