Server configuration
[server]
[server]
host = "0.0.0.0"
port = 1056
transport = "plaintext"
# public_url = "https://broker.example.org/"
graceful_drain_timeout = "30s"
announced_close_timeout = "1s"
request_head_timeout = "30s"
idle_timeout = "3m"
The address the API listens on. The --host command-line flag overrides it.
The TCP port the API listens on. The --port command-line flag overrides it.
Whether the API listener serves plaintext or terminates TLS with the [tls] certificate. One port speaks one or the other, never both.
The address clients and peers reach the API at, path prefix included, such as https://broker.example.org/context-broker. Every absolute URL the broker hands out is built on it, including stored @context URLs, and forwarded subscriptions name it as the endpoint their notifications come back to. Left out, URLs are built on the origin each request reveals, with no prefix, and subscriptions are not forwarded to context sources.
How long open connections get to finish their requests once shutdown begins. Connections still open after it are closed. The whole stop takes at most this plus notifications.evaluation.drain_timeout from the stop signal, 60 seconds by default, however many tenants are loaded: the tenants and the background tasks share what the connections leave, and whatever still runs then is abandoned and logged. Give the broker the two together plus 10 seconds to stop before your orchestrator kills it; Docker and Podman wait only 10 seconds unless told otherwise.
How long an HTTP/1.1 connection stays open, unread, after a response that announced Connection: close, so the client reads the response before the connection goes. Such a response refuses an upload the broker did not read.
How long a connection to the API or management listener gets to send a complete request head, counted from when it opens until its first request, and over HTTP/1.1 from the first byte of each later request. When part of an HTTP/1.1 head has arrived, the broker answers 408 Request Timeout before it closes the connection; otherwise it closes the connection without an answer. A new HTTP/2 connection gets the same time to open its first request.
How long a connection to the API or management listener may stay open with no request in flight before the broker closes it. An HTTP/2 connection is sent a GOAWAY first. Keep it above how long a reverse proxy in front keeps idle upstream connections, commonly 60 to 120 seconds, so the proxy closes an idle connection first and never sends a request on one the broker is closing.
[server.http3]
[server.http3]
mode = "disabled"
advertisement_lifetime = "1day"
Whether HTTP/3 is served beside the TCP listener. HTTP/3 has no plaintext form, so enabling it needs tls.certificate and tls.private_key whatever server.transport says.
How long a client may remember the Alt-Svc header that announces HTTP/3, sent as its ma parameter.