説明
CoreDNS には、サーバー接続のために適切なタイムアウトが既定で設定されています。しかし、CoreDNS が低速モバイルデータ接続を介して提供されている場合など、一部のケースでは、既定のタイムアウトは最適ではありません。
さらに、一部のルーターは DNS over TLS や DNS over HTTPS を使用しているときにオープン接続を保持します。アイドルタイムアウト時間を長くするとパフォーマンスが向上し、このようなルーターに関する問題がなくなります。
タイムアウト「プラグイン」を使用すると、CoreDNS サーバーの読み取り、書き込み、およびアイドルタイムアウトを設定できます。
構文
timeouts {
read DURATION
write DURATION
idle DURATION
}
提供されていないタイムアウトについては、サーバーの種類によって異なる既定値が使用されます。1 つ以上のタイムアウトを指定する必要があり、それ以外の場合は、タイムアウトブロック全体を省略する必要があります。
例
ポート 5553 で受信 DNS over TLS クエリを受け取り、/etc/resolv.conf
で定義されたネームサーバーを使用してクエリを解決する DNS over TLS サーバーを起動します。このプロクシパスでは、旧来の 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
}