-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
http2: improve error when server sends HTTP/1 #224
base: master
Are you sure you want to change the base?
http2: improve error when server sends HTTP/1 #224
Conversation
If for some reason the server sends an HTTP/1.1 response response starting with "HTTP/1.1 " (9 bytes), http2 transport interprets that as a valid frame header for an expected payload of ~4MB, and fails with non-descriptive messages like "unexpected EOF". This could happen, for example, if ALPN is misconfigured on the server's load balancer. This change attempts to improve that feedback by noting in the error messages whenever the frame header was exactly the "HTTP/1.1 bytes". Signed-off-by: Oleg Zaytsev <[email protected]>
This PR (HEAD: 3d58e97) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/net/+/623155. Important tips:
|
Message from Gopher Robot: Patch Set 1: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/623155. |
Message from Oleg Zaytsev: Patch Set 1: (2 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/623155. |
Message from Damien Neil: Patch Set 3: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/623155. |
Message from Damien Neil: Patch Set 3: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/623155. |
Message from Oleg Zaytsev: Patch Set 3: (2 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/623155. |
This saves some initialization time. Signed-off-by: Oleg Zaytsev <[email protected]>
This PR (HEAD: 4abf41d) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/net/+/623155. Important tips:
|
Message from Oleg Zaytsev: Patch Set 3: (2 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/623155. |
Message from Oleg Zaytsev: Patch Set 3: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/623155. |
Message from Damien Neil: Patch Set 4: Code-Review+2 (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/623155. |
Message from Sean Liao: Patch Set 4: Commit-Queue+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/623155. |
Message from Go LUCI: Patch Set 4: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2025-03-09T00:10:14Z","revision":"71a0dee6e2e1000f7b04617955fb25ba0fe30788"} Please don’t reply on this GitHub thread. Visit golang.org/cl/623155. |
Message from Sean Liao: Patch Set 4: -Commit-Queue Please don’t reply on this GitHub thread. Visit golang.org/cl/623155. |
Message from Go LUCI: Patch Set 4: This CL has failed the run. Reason: Tryjob golang/try/x_net-go1.23-linux-386 has failed with summary (view all results):
Build or test failure, click here for results. To reproduce, try Additional links for debugging: Please don’t reply on this GitHub thread. Visit golang.org/cl/623155. |
Message from Go LUCI: Patch Set 4: LUCI-TryBot-Result-1 Please don’t reply on this GitHub thread. Visit golang.org/cl/623155. |
Message from Sean Liao: Patch Set 4: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/623155. |
If for some reason the server sends an HTTP/1.1 response
starting with "HTTP/1.1 " (9 bytes), http2 transport interprets that as
a valid frame header for an expected payload of ~4MB, and fails with
non-descriptive messages like "unexpected EOF".
This could happen, for example, if ALPN is misconfigured on the server's
load balancer.
This change attempts to improve that feedback by noting in the error
messages whenever the frame header was exactly the "HTTP/1.1 " bytes.