描述
默认情况下,CoreDNS 被配置为使用合理的服务连接超时。然而,在某些情况下,例如当 CoreDNS 通过慢速移动数据连接提供服务时,默认超时值并不是最优的。
此外,一些路由器会在使用 DNS over TLS 或 DNS over HTTPS 时保持连接。允许使用一个更长的空闲超时有助于提升性能,并减少与此类路由器有关的问题。
timeouts“插件”允许你配置 CoreDNS 服务器的读取、写入和空闲超时。
语法
timeouts {
read DURATION
write DURATION
idle DURATION
}
对于任何未提供的超时,都会使用默认值,这些默认值可能会因服务器类型而异。至少必须指定一个超时,否则应省略整个 timeouts 块。
示例
启动一个 DNS-over-TLS 服务器,该服务器会在端口 5553 上接收传入的 DNS-over-TLS 请求,并使用 /etc/resolv.conf
中定义的名称服务器解析请求。此代理路径使用传统的 DNS。已配置 10 秒的读取超时、20 秒的写入超时和 60 秒的空闲超时。
tls://.:5553 {
tls cert.pem key.pem ca.pem
timeouts {
read 10s
write 20s
idle 60s
}
forward . /etc/resolv.conf
}
启动一个 DNS-over-HTTPS 服务器,该服务器类似于上一个示例。只为 1 分钟配置了读取超时。
https://. {
tls cert.pem key.pem ca.pem
timeouts {
read 1m
}
forward . /etc/resolv.conf
}
在端口 1053 上启动一个标准的 TCP/UDP 服务器。已配置读取和写入超时。超时设置只适用于服务器的 TCP 侧。
.:1053 {
timeouts {
read 15s
write 30s
}
forward . /etc/resolv.conf
}