AdguardTeam / dnsproxy

Simple DNS proxy with DoH, DoT, DoQ and DNSCrypt support
Apache License 2.0
2.44k stars 247 forks source link

http2.GoAwayFrame before a SETTINGS frame #300

Closed Potterli20 closed 1 year ago

Potterli20 commented 1 year ago

http2.GoAwayFrame before a SETTINGS frame golang http2 Long link problem https://github.com/AdguardTeam/dnsproxy/blob/master/upstream/upstream_doh.go https://cs.opensource.google/go/x/net/+/master:http2/server.go

ameshkov commented 1 year ago

Could you please add a more detailed explanation of the issue?

Potterli20 commented 1 year ago

Could you please add a more detailed explanation of the issue?

我在使用过程中,发现http2长时间连接出现问题,而在golang的net/http2链接时长10秒,也是10000的窗囗,而dnsproxy的doh/http2为30秒。时间过长就出现net/http2连接过长。

我是一直使用dns文件分流,dns分流都是doh为主,所以问题居多

ameshkov commented 1 year ago

So you're saying that if connection lives long enough to have 10000 control frames go through it, it will be forcibly closed? Did I get it right?

Potterli20 commented 1 year ago

So you're saying that if connection lives long enough to have 10000 control frames go through it, it will be forcibly closed? Did I get it right?

I mean, if the window is longer than 1w, http2 he will not go to close, but rather a long time connection problems. I adjusted the connection duration, but it didn't make much difference.

ameshkov commented 1 year ago

Sounds like a golang bug again:(

We can limit the connection lifetime (30 minutes for instance) and re-connect forcibly when it expires.

But first I need to be able to reproduce the issue locally. How can I do that?

Potterli20 commented 1 year ago

Sounds like a golang bug again:(

We can limit the connection lifetime (30 minutes for instance) and re-connect forcibly when it expires.

But first I need to be able to reproduce the issue locally. How can I do that?

Yes, I think it's the go problem, too.

How to repeat, I am using dns shunt file, use a long time on this problem

This is for international use.(28m) https://file.trli.club:2083/dns-hosts/dns-adguardhome/whitelist_full.txt

This is for China.(51m) https://file.trli.club:2083/dns-hosts/dns-adguardhome/blacklist_full.txt

Both files are on the same website. https://file.trli.club:2083/dns-hosts/dns-adguardhome/

Potterli20 commented 1 year ago

问题如何解决,很影响使用