enable_cluster
to true
and list your servers under addrs
in your tyk.conf
file.
addrs
is new in v2.9.3, and replaces hosts
which is now deprecated.use_ssl
to true
.
redis_addrs
is new in v1.9.3 for the Dashboard, and replaces hosts
which is now deprecated.tyk_analytics.conf
file:
enable_cluster
to true
and list your servers under addrs
in your pump.conf
file.
addrs
is new in v2.9.3, and replaces hosts
which is now deprecated.TYK_GW_STORAGE_ENABLECLUSTER
to true
.
use_ssl
to true
for Gateway and Pump, and redis_use_ssl
to true
for the dashboard.
Redis supports SSL/TLS encryption from version 6 as an optional feature, enhancing the security of data in transit. Similarly, Amazon ElastiCache offers encryption in transit and at rest. To configure TLS or mTLS connections between an application and Redis, consider the following settings in Tyk’s configuration files:
storage.use_ssl
: Set this to true to enable TLS encryption for the connection.
storage.ssl_insecure_skip_verify
: A flag that, when set to true, instructs the application not to verify the Redis server’s TLS certificate. This is not recommended for production due to the risk of man-in-the-middle
attacks.
storage.ca_file
: Path to the Certificate Authority (CA) file for verifying the Redis server’s certificate.
storage.cert_file
and storage.key_file
: Paths to your application’s certificate and private key files, necessary for mTLS where both parties verify each other’s identity.
storage.max_version
and storage.min_version
: Define the acceptable range of TLS versions, enhancing security by restricting connections to secure TLS protocols (1.2 or 1.3).
"use_ssl": true
, you encrypt the connection."ssl_insecure_skip_verify": true
bypasses the server’s certificate verification, suitable only for non-production environments.use_ssl
is set to true
.ssl_insecure_skip_verify
to false
to enforce certificate verification against the CA specified in ca_file
.ca_file
for server certificate verification.min_version
and max_version
to secure TLS versions, ideally 1.2 and 1.3.cert_file
and key_file
for your application’s TLS certificate and private key, enabling Redis server to verify your application’s identity.Using clustered mode
, try setting the environment variable REDIGOCLUSTER_SHARDCOUNT
to 128
on all hosts which connect to the Redis Cluster i.e. Gateway, Dashboard, Pump, MDCB. E.g.
REDIGOCLUSTER_SHARDCOUNT=128
If setting to 128
does not resolve the issue, try 256
instead.
addrs
and set the master name in your Gateway, Dashboard, Pump and MDCB config. Unlike Redis Cluster, enable_cluster
should not be set. Indicative config snippets as follows:
addrs
and master_name
is not required.sentinel_password
redis_sentinel_password
sentinel_password
SentinelPassword
sentinel_password
storage.use_ssl
: Set this to true to enable TLS encryption for the connection.
storage.ssl_insecure_skip_verify
: A flag that, when set to true, instructs the application not to verify the Redis server’s TLS certificate. This is not recommended for production due to the risk of man-in-the-middle
attacks.
storage.ca_file
: Path to the Certificate Authority (CA) file for verifying the Redis server’s certificate.
storage.cert_file
and storage.key_file
: Paths to your application’s certificate and private key files, necessary for mTLS where both parties verify each other’s identity.
storage.max_version
and storage.min_version
: Define the acceptable range of TLS versions, enhancing security by restricting connections to secure TLS protocols (1.2 or 1.3).
"use_ssl": true
, you encrypt the connection."ssl_insecure_skip_verify": true
bypasses the server’s certificate verification, suitable only for non-production environments.use_ssl
is set to true
.ssl_insecure_skip_verify
to false
to enforce certificate verification against the CA specified in ca_file
.ca_file
for server certificate verification.min_version
and max_version
to secure TLS versions, ideally 1.2 and 1.3.cert_file
and key_file
for your application’s TLS certificate and private key, enabling Redis server to verify your application’s identity.