Skip to main content
Version: 0.13.x-dev

Bind

The bind block configures the primary listener address and its associated protocol settings.

bind = {
# The network interface to listen on.
interface = "127.0.0.1"

# The port to listen on.
port = 8443

# Enable HTTP/2 support (requires TLS).
# Plaintext upstreams are supported: the proxy translates HTTP/2 to HTTP/1.1 automatically.
enable_http2 = true

# Redirect plain HTTP requests to HTTPS.
redirect_http_to_https = false

# TLS configuration for the listener.
tls = {
mode = "manual"
cert = "/path/to/certs/server.pem"
key = "/path/to/certs/server.key"
}

# See: Connection Filter, Connection Rate Limiter
connection_filter = { ... }
connection_rate_limiting_filter = { ... }
}

Fields

FieldTypeDefaultDescription
interfacestring(required)The network interface to bind to.
portinteger(required)The port to bind to on the specified interface.
enable_http2booleanfalseEnable HTTP/2 on the listener. TLS is required. When enabled, HTTP/2 clients can connect even if upstream services only speak HTTP/1.1; the proxy translates between the two protocols automatically.
redirect_http_to_httpsbooleanfalseWhen enabled, plain HTTP requests are redirected to HTTPS.
tls.modestring(required)TLS mode. Use "manual" to provide your own certificate and key.
tls.certstring(required)Path to the TLS certificate file.
tls.keystring(required)Path to the TLS private key file.
connection_filterobject(optional)Connection filtering rules. See Connection Filter.
connection_rate_limiting_filterobject(optional)Connection rate limiting rules. See Connection Rate Limiter.

For details on TLS configuration, see the TLS section of the documentation.