-
Notifications
You must be signed in to change notification settings - Fork 349
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
TLS handshake failing on Windows with 2.13.0 #2294
Comments
If you omit the |
No. Without this parameter, the proxy starts, but fails on the same errors when trying to establish the first connection. |
@augi Are you seeing the error on every invocation or is it intermittent? I will try and give the windows binary a try. |
We can always see the error. We tried a few latest versions, and the corrupted one is just the last one. |
Going to bump this down while I investigate as our integration tests are all passing for Windows currently. |
Isn't it possible there is a request made to a different host/port with the latest proxy version? We are in a very restrictive environment, and I can see EOF-type of errors when an unexpected endpoint is contacted (and so forbidden by a firewall or other network device). |
That's a good idea and my own hypothesis given we don't see any test failures elsewhere. The Proxy will be dialing |
But of course that doesn't explain why the last versions works without issue... |
Yes, it is present there. Isn't it possible that there was a change in an upstream dependency that changed the behavior? |
We use Go's TLS library exclusively, so unless there's another detail we're not finding here, this is either a problem with Go's TLS windows implementation or something about your environment. |
@jackwotherspoon will try to manually reproduce out of due diligence and then we'll go from there. |
@augi I tested and had no issue with the Ran the following command:
And got the following expected output:
This makes me think something has maybe changed in your environment that is unexpectedly causing the new proxy version to fail? All our latest release changed was bumping to Go 1.23, so I will double-check that nothing with Go's TLS library on Windows changed in the new Go version. |
We tested multiple versions in the same environment, and only 2.13.0 version demonstrates this issue 🙏 |
@augi have you tried doing a tcpdump on the traffic? High level the proxy does this:
Judging from the error you're seeing, the TCP socket is connected, but something about the handshake is failing. https://tls13.xargs.org/ is a good reference. We'll keep digging, but at this point we have integration tests passing for Windows and a manual test that also passes, so we have few leads. |
Worth noting I tested on a |
@augi I was facing this issue in version looking at the changelog of go version disabling it, using I hope this helps! more details here: golang/go#67061 |
Nice find @ricardohbin! Thanks for posting here. |
Good catch, I can confirm that |
Thanks @augi for confirming! Will close this issue as a fix has been found 👍 |
Bug Description
After upgrading from 2.12.0 to 2.13.0, we are getting
TLS handshake failed: EOF
error with the Windows executable (x64).Example code (or command)
Stacktrace
The text was updated successfully, but these errors were encountered: