proxy server
proxy server
The proxy server binding decodes Proxy v2 protocol on the inbound network stream, producing higher level application streams for each request.
proxy_server:
type: proxy
kind: server
routes:
- when:
- transport: stream
family: inet4
destination:
port: 443
exit: tls_server
Configuration (* required)
routes
array
ofobject
Conditional proxy
specific routes.
routes:
- when:
- transport: stream
family: inet4
destination:
port: 443
exit: tls_server
routes[].guarded
object
as map of namedarray
ofstring
List of roles required by each named guard to authorize this route.
routes:
- guarded:
my_guard:
- read:items
routes[].when
array
ofobject
List of conditions (any match) to match this route. Read more: When a route matches
when[].transport
enum
[stream
,datagram
]
Transport type.
when[].family
enum
[inet
,inet4
,inet6
,unix
]
Address family.
when[].source
object
Source address.
source.host
string
Hostname or IP address.
source.port
integer
Port number.
when[].destination
object
Destination address.
destination.host
string
Hostname or IP address.
destination.port
integer
Port number.
when[].info
object
info.alpn
string
info.authority
string
info.identity
string
info.namespace
string
info.secure
object
secure.cipher
string
secure.key
string
secure.name
string
secure.signature
string
secure.version
string
routes[].exit
string
Next binding when following this route.
routes:
- when:
...
exit: echo_server
exit
string
Default exit binding when no conditional routes are viable.
exit: echo_server
telemetry
object
Defines the desired telemetry for the binding.
telemetry.metrics
array
Telemetry metrics to track
telemetry:
metrics:
- stream.*