Server
Servers are the inbound side of vey-proxy. They accept client traffic,
perform protocol-specific frontend work, and hand the request to an escaper.
Each server configuration item is a map with two required keys:
name, which defines the server name
type, which selects the concrete server type and therefore determines how the remaining keys are interpreted
The pages below cover frontend listeners, protocol proxies, and local chaining ports.
Servers
Common Keys
These keys are shared by many server types and cover the common frontend behavior.
name
required, type: metric node name
The server name.
type
required, type: str
The server type.
escaper
required, type: metric node name
The escaper used by this server.
If the referenced escaper does not exist in the configuration, a default
DummyDeny escaper is used.
auditor
optional, type: metric node name
The auditor used by this server.
If the referenced auditor does not exist in the configuration, a default auditor is used.
user_group
optional, type: metric node name
The user group used for authentication and authorization.
If the referenced user group does not exist in the configuration, a default empty user group is used.
default: no auth enabled
listen_in_worker
optional, type: bool
Controls whether this server listens in every worker runtime when workers are enabled.
The number of listener instances then matches the worker count.
default: false
tls_server
optional, type: rustls server config
Enables TLS on the listening socket and configures the TLS parameters.
default: disabled
tls_ticketer
optional, type: tls ticketer
Configures a remote rolling TLS ticketer.
default: not set
Added in version 1.9.9.
ingress_network_filter
optional, type: ingress network acl rule
Ingress network filter for client addresses.
The address used here is always the interpreted client address. For directly listening servers, that is the raw socket peer address. For servers behind a PROXY Protocol-aware front end, that is the address carried in the PROXY Protocol message.
default: not set
dst_host_filter_set
optional, type: dst host acl rule set
Destination-host filter for each request.
Note
This won’t limit the Host header in http protocol.
default: not set
dst_port_filter
optional, type: exact port acl rule
Destination-port filter for each request.
default: not set
tcp_sock_speed_limit
optional, type: tcp socket speed limit
Per-TCP-socket speed limit.
default: no limit
tcp_conn_speed_limit
deprecated
Changed in version 1.11.8: deprecated, use tcp_sock_speed_limit instead
tcp_conn_limit
deprecated
Changed in version 1.11.8: deprecated, use tcp_sock_speed_limit instead
conn_limit
deprecated
Changed in version 1.11.8: deprecated, use tcp_sock_speed_limit instead
udp_sock_speed_limit
optional, type: udp socket speed limit
Per-UDP-socket speed limit.
default: no limit
udp_relay_speed_limit
deprecated
Changed in version 1.11.8: deprecated, use udp_sock_speed_limit instead
udp_relay_limit
deprecated
Changed in version 1.11.8: deprecated, use udp_sock_speed_limit instead
relay_limit
deprecated
Changed in version 1.11.8: deprecated, use udp_sock_speed_limit instead
tcp_copy_buffer_size
optional, type: humanize usize
Buffer size used for internal TCP copy operations.
default: 16K, minimal: 4K
tcp_copy_yield_size
optional, type: humanize usize
Set the yield out size for the internal copy task.
default: 1M, minimal: 256K
udp_relay_packet_size
optional, type: humanize usize
Set the udp packet size for udp relay.
default: 4K, maximum: 16K
udp_relay_yield_count
optional, type: usize
Set the yield out count of packets for the internal relay task.
default: 1024, maximum: 256
Added in version 1.13.3.
udp_relay_batch_count
optional, type: usize
Set the batch recvmsg / sendmsg packet count.
default: 8
Added in version 1.13.3.
udp_relay_underlying_buffer_size
optional, type: humanize usize
Set the underlying buffer size when we need to parsing UDP packets from a underlying layer.
default: 16K, or at least 8 * udp_relay_packet_size
Added in version 1.13.5.
tcp_misc_opts
optional, type: tcp misc sock opts
Set misc tcp socket options on accepted tcp sockets.
default: not set, nodelay is default enabled
udp_misc_opts
optional, type: udp misc sock opts
Set misc udp socket options on created udp sockets.
default: not set
task_idle_check_duration
deprecated
Changed in version 1.11.3: change default value from 5min to 60s
Changed in version 1.13.0: deprecated, use task_idle_check_interval instead
task_idle_check_interval
optional, type: humanize duration
Set the idle check duration for task. The value will be up bound to seconds.
default: 60s, max: 30min, min: 2s
Added in version 1.13.0.
task_idle_max_count
optional, type: usize
The task will be closed if the idle check return IDLE the times as this value.
Note
The value set at user side will overwrite this.
default: 5
Changed in version 1.11.3: change default value from 1 to 5
flush_task_log_on_created
optional, type: bool
Log when task get created.
default: false
Added in version 1.11.0.
flush_task_log_on_connected
optional, type: bool
Log when upstream connected.
default: false
Added in version 1.11.0.
task_log_flush_interval
optional, type: humanize duration
Enable periodic task log and set the flush interval.
Note
There will be no periodic task log if protocol inspection is enabled, as intercept and inspect logs will be available in this case.
default: not set
Added in version 1.11.0.