Configuration
This plugin is compatible with DB-less mode.
Compatible protocols
The Proxy Cache plugin is compatible with the following protocols:
grpc
, grpcs
, http
, https
, tcp
, tls
, tls_passthrough
, udp
, ws
, wss
Parameters
Here's a list of all the parameters which can be used in this plugin's configuration:
-
name or plugin
string requiredThe name of the plugin, in this case
proxy-cache
.- If using the Kong Admin API, Konnect API, declarative configuration, or decK files, the field is
name
. - If using the KongPlugin object in Kubernetes, the field is
plugin
.
- If using the Kong Admin API, Konnect API, declarative configuration, or decK files, the field is
-
instance_name
stringAn optional custom name to identify an instance of the plugin, for example
proxy-cache_my-service
.The instance name shows up in Kong Manager and in Konnect, so it's useful when running the same plugin in multiple contexts, for example, on multiple services. You can also use it to access a specific plugin instance via the Kong Admin API.
An instance name must be unique within the following context:
- Within a workspace for Kong Gateway Enterprise
- Within a control plane or control plane group for Konnect
- Globally for Kong Gateway (OSS)
-
service.name or service.id
stringThe name or ID of the service the plugin targets. Set one of these parameters if adding the plugin to a service through the top-level
/plugins
endpoint. Not required if using/services/{serviceName|Id}/plugins
. -
route.name or route.id
stringThe name or ID of the route the plugin targets. Set one of these parameters if adding the plugin to a route through the top-level
/plugins
endpoint. Not required if using/routes/{routeName|Id}/plugins
. -
consumer.name or consumer.id
stringThe name or ID of the consumer the plugin targets. Set one of these parameters if adding the plugin to a consumer through the top-level
/plugins
endpoint. Not required if using/consumers/{consumerName|Id}/plugins
. -
consumer_group.name or consumer_group.id
stringThe name or ID of the consumer group the plugin targets. If set, the plugin will activate only for requests where the specified group has been authenticated
/plugins
endpoint. Not required if using/consumer_groups/{consumerGroupName|Id}/plugins
. -
enabled
boolean default:true
Whether this plugin will be applied.
-
config
record required-
response_code
array of typeinteger
required default:200, 301, 404
len_min:1
Upstream response status code considered cacheable.
-
request_method
array of typestring
required default:GET, HEAD
Must be one of:HEAD
,GET
,POST
,PATCH
,PUT
Downstream request methods considered cacheable.
-
content_type
array of typestring
required default:text/plain, application/json
Upstream response content types considered cacheable. The plugin performs an exact match against each specified value.
-
cache_ttl
integer default:300
TTL, in seconds, of cache entities.
-
strategy
string required Must be one of:memory
The backing data store in which to hold cache entities.
-
cache_control
boolean required default:false
When enabled, respect the Cache-Control behaviors defined in RFC7234.
-
ignore_uri_case
boolean default:false
-
storage_ttl
integerNumber of seconds to keep resources in the storage backend. This value is independent of
cache_ttl
or resource TTLs defined by Cache-Control behaviors.
-
memory
record required-
dictionary_name
string required default:kong_db_cache
The name of the shared dictionary in which to hold cache entities when the memory strategy is selected. Note that this dictionary currently must be defined manually in the Kong Nginx template.
-
-
vary_query_params
array of typestring
Relevant query parameters considered for the cache key. If undefined, all params are taken into consideration.
-
vary_headers
array of typestring
Relevant headers considered for the cache key. If undefined, none of the headers are taken into consideration.
-
response_headers
record requiredCaching related diagnostic headers that should be included in cached responses
-
age
boolean default:true
-
X-Cache-Status
boolean default:true
-
X-Cache-Key
boolean default:true
-
-