Skip to content

HTTP/3: UseHttps configuration #34858

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

Closed
JamesNK opened this issue Jul 29, 2021 · 7 comments · Fixed by #42774
Closed

HTTP/3: UseHttps configuration #34858

JamesNK opened this issue Jul 29, 2021 · 7 comments · Fixed by #42774
Assignees
Labels
area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions HTTP3

Comments

@JamesNK
Copy link
Member

JamesNK commented Jul 29, 2021

Ensure that we set any options configured with UseHttps with HTTP/3. Some values might not be supported by QUIC.

@Tratcher
Copy link
Member

Tratcher commented Aug 6, 2021

Note the UseHttps overloads that take async callbacks probably won't work at all. Make sure they fail with reasonable errors.

The synchronous SNI callback is supposed to work. dotnet/runtime#55468

@Tratcher
Copy link
Member

Tratcher commented Aug 9, 2021

HttpsConnectionAdapterOptions based UseHttps:

ServerOptionsSelectionCallback based UseHttps:

  • UseHttps(this ListenOptions listenOptions, ServerOptionsSelectionCallback serverOptionsSelectionCallback, object state, TimeSpan handshakeTimeout) - Blocked, no async per connection SslServerAuthenticationOptions callback.
Unhandled exception. System.InvalidOperationException: Couldn't find HTTPS configuration for QUIC transport.
   at Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.QuicTransportFactory.BindAsync(EndPoint endpoint, IFeatureCollection features, CancellationToken cancellationToken) in D:\github\aspnetcore\src\Servers\Kestrel\Transport.Quic\src\QuicTransportFactory.cs:line 55

TlsHandshakeCallbackOptions's based UseHttps: - Blocked, no async per connection SslServerAuthenticationOptions callback, no ConnectionContext

Unhandled exception. System.InvalidOperationException: Couldn't find HTTPS configuration for QUIC transport.
   at Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.QuicTransportFactory.BindAsync(EndPoint endpoint, IFeatureCollection features, CancellationToken cancellationToken) in D:\github\aspnetcore\src\Servers\Kestrel\Transport.Quic\src\QuicTransportFactory.cs:line 55

@Tratcher
Copy link
Member

All of the unblocked items have been addressed for .NET 6. Moving to .NET 7.

@Tratcher Tratcher modified the milestones: 6.0-rc1, .NET 7-Candidate Aug 13, 2021
@Tratcher Tratcher removed their assignment Aug 13, 2021
@adityamandaleeka adityamandaleeka added the blocked The work on this issue is blocked due to some dependency label Sep 30, 2021
@adityamandaleeka
Copy link
Member

We need to ask for runtime APIs for the rest of these.

@JamesNK
Copy link
Member Author

JamesNK commented Jan 13, 2022

@Tratcher How many of the remaining options does runtime implementing HTTP/3: QuicConnectionListener supports ServerOptionsSelectionCallback unblock? Are there other changes required from their side or is this it?

@JamesNK
Copy link
Member Author

JamesNK commented Jan 13, 2022

There is also dotnet/runtime#55378 but it seems pretty minor.

@Tratcher
Copy link
Member

Tratcher commented Jul 5, 2022

Waiting on dotnet/runtime#67560

@JamesNK JamesNK removed the blocked The work on this issue is blocked due to some dependency label Jul 17, 2022
@JamesNK JamesNK self-assigned this Jul 18, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Aug 27, 2022
@amcasey amcasey added area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions and removed area-runtime labels Jun 2, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions HTTP3
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants