keyless_tcp
A keyless backend that connects to upstream peers over TCP or TLS.
This backend type is valid only for keyless tasks.
Config Keys
The following common keys are supported:
tls_client
optional, type: rustls client config
Enable TLS and configure the local TLS client.
default: not set
tls_name
optional, type: tls name
Set the TLS server name used to verify upstream certificates.
If not set, the peer IP will be used.
default: not set
duration_stats
optional, type: histogram metrics
Configure histogram metrics for TCP connect duration.
default: set with default value
request_buffer_size
optional, type: usize
Set the size of the local request queue. New connections are opened when the queue is full.
default: 128
response_recv_timeout
optional, type: humanize duration
Set the timeout for waiting for an upstream response.
On timeout, the request is dropped from the local buffer and an internal error response is returned to the client.
default: 4s
connection_max_request_count
optional, type: usize
Set the maximum number of requests handled by a single upstream connection.
default: 4000
Added in version 0.3.4.
connection_alive_time
optional, type: humanize duration
Set the maximum lifetime of a single upstream connection.
default: 1h
Added in version 0.3.4.
graceful_close_wait
optional, type: humanize duration
Set the graceful wait time before closing a live connection.
default: 10s
connection_pool
optional, type: connection pool
Set the connection-pool configuration.
default: enabled with max_idle = 8192 and min_idle = 256
Added in version 0.3.5.
tcp_keepalive
optional, type: tcp keepalive
Set TCP keepalive.
default: no keepalive set
wait_new_channel
optional, type: bool
Set whether requests should wait for a new connection when no live connection is available.
default: false
Added in version 0.3.5.