Closed SharkyRawr closed 3 weeks ago
@CormickKneey
Okay, i will check this today.
The problem is: Connection between curl
and proxy
is http2, Connection between proxy
and most of remote (like registry.hub.docker.com) is http1 after protocol negotiation
. So the request transferred version is incorrect.
We can revolve this by remove h2 support when serving the connection with the TLS stream, what do u think? @gaius-qi
The problem is: Connection between
curl
andproxy
is http2, Connection betweenproxy
and most of remote (like registry.hub.docker.com) is http1 afterprotocol negotiation
. So the request transferred version is incorrect.We can revolve this by remove h2 support when serving the connection with the TLS stream, what do u think? @gaius-qi
LGTM,set the http1_only to true in the proxy.
Bug report:
Hi, I'm trying to use dragonflyoss/helm-charts as a transparent proxy and cache on my servers for all public docker registries.
I have set up:
using my own CA cert infrastructure and it appears to be validating okay.
However when dfdaemon tries to connect to
registry.hub.docker.com
orghcr.io
it fails with this error:It appears the client wants to upgrade to h2/HTTP2 but hyper-util v0.1.9 refuses at https://github.com/hyperium/hyper-util/blob/v0.1.9/src/client/legacy/client.rs#L291. I'm not sure if this is a dragonfly client or hyper-util issue as I'm not that experienced with Rust - or it's something completely different. Perhaps my approach is wrong but I would appreciate if someone could take a look at this and shed some light. :)
Expected behavior:
docker pull
any image and it works.How to reproduce it:
Set up a client with caCert and caKey, enable HTTPS_PROXY for docker daemon and try:
docker pull busybox
HTTPS_PROXY="http://127.0.0.1:4001/" curl -vvv registry.hub.docker.com -L
CURL error:
CURL request works with
--http1.1
though.Environment:
uname -a
): 6.8.0-45-generic