docs(timeouts): document DoQ read timeout (#8263)

This commit is contained in:
Ville Vesilehto
2026-07-10 01:01:59 +03:00
committed by GitHub
parent 6d13ab20af
commit 0ebe4da2b0
3 changed files with 13 additions and 6 deletions

View File

@@ -115,7 +115,7 @@ type Config struct {
// This is nil if not specified, allowing for a default to be used. // This is nil if not specified, allowing for a default to be used.
MaxHTTPS3Streams *int MaxHTTPS3Streams *int
// Timeouts for TCP, TLS and HTTPS servers. // Timeouts for connection-oriented servers. Exact applicability depends on transport.
ReadTimeout time.Duration ReadTimeout time.Duration
WriteTimeout time.Duration WriteTimeout time.Duration
IdleTimeout time.Duration IdleTimeout time.Duration

View File

@@ -35,9 +35,9 @@ import (
// graceful termination (POSIX only). // graceful termination (POSIX only).
type Server struct { type Server struct {
Addr string // Address we listen on Addr string // Address we listen on
IdleTimeout time.Duration // Idle timeout for TCP IdleTimeout time.Duration // Idle timeout for connection-oriented transports
ReadTimeout time.Duration // Read timeout for TCP ReadTimeout time.Duration // Read timeout for connection-oriented transports
WriteTimeout time.Duration // Write timeout for TCP WriteTimeout time.Duration // Write timeout for connection-oriented transports that support it
connPolicy proxyproto.ConnPolicyFunc // Proxy Protocol connection policy function connPolicy proxyproto.ConnPolicyFunc // Proxy Protocol connection policy function
udpSessionTrackingTTL time.Duration // TTL for UDP PPv2 session tracking (0 = disabled) udpSessionTrackingTTL time.Duration // TTL for UDP PPv2 session tracking (0 = disabled)

View File

@@ -2,7 +2,7 @@
## Name ## Name
*timeouts* - allows you to configure the server read, write and idle timeouts for the TCP, TLS, DoH and DoQ (idle only) servers. *timeouts* - allows you to configure the supported server read, write and idle timeouts for the TCP, TLS, DoH and DoQ servers.
## Description ## Description
@@ -31,6 +31,11 @@ For any timeouts that are not provided, default values are used which may vary
depending on the server type. At least one timeout must be specified otherwise depending on the server type. At least one timeout must be specified otherwise
the entire timeouts block should be omitted. the entire timeouts block should be omitted.
The configured timeouts apply where the selected server transport supports
them. TCP, TLS and DoH servers use the read, write and idle timeouts. DoQ
servers use the read timeout to bound receiving a query on an opened QUIC
stream, and the idle timeout to bound idle QUIC connections.
## Examples ## Examples
Start a DNS-over-TLS server that picks up incoming DNS-over-TLS queries on port Start a DNS-over-TLS server that picks up incoming DNS-over-TLS queries on port
@@ -63,12 +68,14 @@ https://. {
} }
~~~ ~~~
Start a DNS-over-QUIC server that has the idle timeout set to two minutes. Start a DNS-over-QUIC server that has a 10 second read timeout for receiving a
query on an opened stream and the idle timeout set to two minutes.
~~~ ~~~
quic://.:853 { quic://.:853 {
tls cert.pem key.pem ca.pem tls cert.pem key.pem ca.pem
timeouts { timeouts {
read 10s
idle 2m idle 2m
} }
forward . /etc/resolv.conf forward . /etc/resolv.conf