-
Notifications
You must be signed in to change notification settings - Fork 211
Protocols
Default protocol for gobetween is tcp. Anyway, you can specify it explicitly in config:
[servers.default]
protocol = "tcp"
See examples Simple static balancing for more details.
(since 0.4.0)
You can configure gobetween to listen TLS and perform TLS termination so traffic would be decrypted and passed through TCP to backends.
You just need to set you server protocol to tls and configure tls section:
[servers.default]
protocol = "tls"
[servers.default.tls] # (required) if protocol == "tls"
cert_path = "/path/to/file.crt" # (required) path to crt file
key_path = "/path/to/file.key" # (required) path to key file
min_version = "tls1" # (optional) "ssl3" | "tls1" | "tls1.1" | "tls1.2" - minimum allowed tls version
max_version = "tls1.2" # (optional) maximum allowed tls version
ciphers = [] # (optional) list of supported ciphers. Empty means all supported. For a list see https://golang.org/pkg/crypto/tls/#pkg-constants
prefer_server_ciphers = false # (optional) if true server selects server's most preferred cipher
session_tickets = true # (optional) if true enables session tickets
(since 0.4.0)
You can configure gobetween to listen and balance UDP traffic.
You just need to set you server protocol to udp and configure optional udp section:
[servers.default]
protocol = "udp"
[servers.default.udp] # (optional)
max_responses = 0 # (required) if > 0 accepts no more responses that max_responses from backend and closes session
UDP is sessionless protocol, working on level of individual packets, but in order to support multiple packets exchange, gobetween associates elected backend with client address. This association is dropped if client_idle_timeout
or backend_idle_timeout
is overdue, or if there were more than max_responses
responses from backend.
Note: UDP supports only exec
healthcheck type.