Files
coredns/plugin/https3
ump45nose eff4aa54c1 plugin/https3: the limits accept zero, not only positive integers (#8659)
The syntax block advertised POSITIVE_INTEGER for both options, but plugin/https3/setup.go:50 and :66 reject only val < 0, the parser errors say "must be a non-negative integer", plugin/https3/setup_test.go:36-43 accepts "max_streams 0" with shouldErr false, and README.md:22-23 itself tells the reader to "Set to 0". plugin/https/README.md:17-18 already uses NON_NEGATIVE_INTEGER for the same pair.

Signed-off-by: yuwk <1729065730@qq.com>
2026-10-20 18:11:28 -07:00
..
2026-07-21 15:52:31 -07:00

https3

Name

https3 - configures DNS-over-HTTPS/3 (DoH3) server options.

Description

The https3 plugin allows you to configure parameters for the DNS-over-HTTPS/3 (DoH3) server to fine-tune the security posture and performance of the server. HTTPS/3 uses QUIC as the underlying transport.

This plugin can only be used once per HTTPS3 listener block.

Syntax

https3 {
    max_streams NON_NEGATIVE_INTEGER
    max_connections NON_NEGATIVE_INTEGER
}
  • max_streams limits the number of concurrent QUIC streams per connection. This helps prevent unbounded streams on a single connection, exhausting server resources. The default value is 256 if not specified. Set to 0 to use underlying QUIC transport default.
  • max_connections limits the number of concurrent HTTPS/3 connections accepted by the server. The default value is 200 if not specified. Connections above the configured limit are rejected. Set to 0 to disable the CoreDNS connection limit.

Examples

Set custom limits for maximum streams:

https3://.:443 {
    tls cert.pem key.pem
    https3 {
        max_streams 50
    }
    whoami
}

Set values to 0 for QUIC transport default, matching CoreDNS behaviour before v1.14.0:

https3://.:443 {
    tls cert.pem key.pem
    https3 {
        max_streams 0
    }
    whoami
}