-
-
Notifications
You must be signed in to change notification settings - Fork 4k
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
consider enabling QUIC by default #3833
Comments
If quic is enabled by default, AJAX or pjax requests PHP sites to not work |
@Y-A-K-E Why would that be? If so, that would be a bug. Can you share some more details? |
Overall I'm open to this. Maybe later, once HTTP/3 is finalized and has broad client support. As a data point, here's one case study where not binding to UDP by default is preferred: https://twitter.com/itstelesphoreo/status/1333457155324846085 |
We'll definitely want to add a |
@mholt HTTP/3 is (basically) finalized. The QUIC transport documents have completed IETF Last Call a while back. The documents are now in the RFC editor queue, so it will still take a few months until the final RFCs are published. However, nobody expects any protocol changes at this point.
This boils down to how to configure the
|
That might be useful sooner or later. Does the quic-go API have that ability? If so, we can find a way to expose it in Caddy.
I agree; am just noting that there are cases where it will need to be configurable. Thanks! |
quic-go doesn't really care about the port. You pass a |
QUIC is now finalised. https://datatracker.ietf.org/doc/html/rfc9000 |
👀 |
Yeah, probably no way this is going to happen until the feature is no longer experimental. But, sometime in the future, I do think it can happen. |
Looks like there is only a single showstopper left: #3055 As the final HTTP/3 core specs are very very very close, it would be cool if caddy would be one of the first to officially support it 😉 |
@bt90 I agree. @marten-seemann can you please review #4707? It's not done yet, but I want to make sure I'm on the right track with AcceptToken(). Can people also please test that branch ( |
There's also #4294 btw, i.e. |
Good point; we probably won't be able to enable HTTP/3 if client auth is configured. |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
With #4819 being fixed in the latest release, these are the missing bits: |
@otbutz Yep! #4294 might be more of an edge case, and apparently depends on something upstream in Go that we don't have (yet?) -- it only affects connections that use strict_sni_host, which I rarely see outside of TLS Mutual Auth scenarios (which are also rare). As for #3055, I'm nearly done with that in #4707. I am just waiting for some thoughts/feedback from @marten-seemann about how to verify tokens. But yeah, I'd be ready to get this into a prerelease as soon as it's ready. |
Possibly #4849 |
Finally done in #4707. HTTP/3 will be enabled by default in Caddy 2.6. |
Chrome has enabled QUIC for a large fraction of Chrome Stable. quic-go has been supporting draft-29 for a while now, and will add support for draft-32 in the next release (in case Chrome adds support for that version, which, as far as I know, they don't plan at this point).
quic-go has been the default transport in IPFS and Filecoin for a few months already.
We might want to find a solution for #3055 first (or disable Retry entirely), so users will actually enjoy the reduced handshake latency (1 round-trip instead of 2 in the case of TLS 1.3 over TCP).
The text was updated successfully, but these errors were encountered: