AdguardTeam / AdGuardHome

Network-wide ads & trackers blocking DNS server
https://adguard.com/adguard-home/overview.html
GNU General Public License v3.0
25.63k stars 1.84k forks source link

[v0.108.0-b.58] Lots of errors: Client.Timeout exceeded while awaiting headers #7346

Open timkgh opened 1 month ago

timkgh commented 1 month ago

Prerequisites

Platform (OS and CPU architecture)

Linux, MIPS LE

Installation

GitHub releases or script from README

Setup

On a router, DHCP is handled by the router

AdGuard Home version

v0.108.0-b.58

Action

Lots of timeout errors that I believe started with

2024/10/12 06:34:00.268414 ERROR response received addr=https://dns.controld.com:443/... proto=udp status="requesting https://dns.controld.com:443/...: Get_0rtt \"https://dns.controld.com:443/...?dns=AAA...AAA\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)"

The network is fine, ping times to controld are 7-8ms.

What should the upstream_timeout be set to? I changed it from the default 10s to 1s because 10s is way too much to wait for a DNS query, even 1s is a lot. Are these errors related to upstream_timeout and maybe 0-RTT issues in quic-go?

It seems to use HTTP/3, is there a way to force it to HTTP/2 only?

Expected result

very few errors

Actual result

lots of errors

Additional information and/or screenshots

No response

timkgh commented 1 month ago

This seems to be a problem for HTTP/3 (UDP). Could it be a problem with 0-RTT requests and quic-go?

I switched to DoT (tls://) and not seeing any timeout errors so far. If there is a way to force HTTP/2 (TCP), happy to test that.

SukkaW commented 1 month ago

This seems to be a problem for HTTP/3 (UDP). Could it be a problem with 0-RTT requests and quic-go?

I doubt that. See my issue #7357, even DoT is falling and timeout for me, so it might have something to do with TLS rather than HTTP/3 or UDP.