逾時設定

原始碼

timeouts 允許您設定 TCP、TLS 和 DoH 伺服器的伺服器讀取、寫入和閒置逾時時間。

描述

CoreDNS 預設會針對伺服器連線設定合理的逾時時間。然而,在某些情況下,例如 CoreDNS 透過緩慢的行動數據連線提供服務時,預設的逾時時間並非最佳。

此外,某些路由器在使用 DNS over TLS 或 DNS over HTTPS 時會保持連線開啟。允許更長的閒置逾時時間有助於效能並減少此類路由器的問題。

timeouts「外掛程式」允許您設定 CoreDNS 伺服器的讀取、寫入和閒置逾時時間。

語法

timeouts {
	read DURATION
	write DURATION
	idle DURATION
}

對於任何未提供的逾時設定,將使用預設值,這些值可能會因伺服器類型而異。必須指定至少一個逾時設定,否則應省略整個逾時區塊。

範例

啟動一個 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
}