-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
Splithttp wrong apln structure [ "h2", "http/1.1" ] #3880
Comments
When the client has multiple values in apln, it will perform default behavior (if TLS is present, use h2) |
There are some CDNs that connect sometimes with h2 and sometimes with http/1.1. |
After discussion, we have decided not to implement the ALPN negotiation |
I know that the alpn list is set by fingerprint, but does what I said have anything to do with fingerprint? What I said is the confirmation of alpn by the client. As far as I understand, the reason for this error is that fingerprint sends a list of alpn including http/1.1 and h2, but when the server selects http/1.1, the client doesn't accept it. Isn't this an unreasonable limitation?! |
The function of fingerprints is disguising, but it does not mean that they have all the functions of disguising targets |
we are running into limitations of the golang ecosystem (or rather, utls) where we are unable to read the server's NextProtocol response and have it be respected in golang's HTTP stack. The fix was considered too complicated because setting The actual fix is to get refraction-networking/utls#74 into utls, which as you can see is a monstrous amount of work. We can keep it open as a "known issue" but at the same time we may never work on it (as fangliding said we consider those to be edgecases that are not worth the complexity. |
Is alpn equal to
[ "h2" ]
if it is[ "h2", "http/1.1" ]
on the client ?Because when the server is
http/1.1 + tls
but the client ish2 and http/1.1
, it doesn't connect. But it connects when the client is only http/1.1.The text was updated successfully, but these errors were encountered: