タイムアウト

ソース

タイムアウトを使用して、TCP、TLS、および DoH サーバーのサーバーの読み取り、書き込み、およびアイドルタイムアウトを設定できます。

説明

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
}