-
Notifications
You must be signed in to change notification settings - Fork 10.3k
Default dev certificate not working with Http3 #41762
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
Comments
Triage: let's see what we can do to make the dev experience better. |
Thanks for contacting us. We're moving this issue to the |
Thanks for contacting us. We're moving this issue to the |
I was in doubt if http3 needs a certificate inside the application in the container, because my certificates are in the proxy/nginx. |
HTTP/3 always requires a certificate, there's no un-encrypted format for it. In this case it would be encrypted between the proxy and your app. However, does your proxy even support HTTP/3 proxying? Even if it supports HTTP/3 on the front end, it's likely downgrading on the back end. Last I heard it barely supported HTTP/2 proxying. |
from what I understand, within my kestrel I have to inform a certificate, BUT |
Is there a specific reason you want HTTP/3 behind the proxy? HTTP/3's benefits are mainly on public networks, using HTTP/1.x or HTTP/2 between the proxy and your app is normally fine. The proxy should be able to handle HTTP/3 for you and downgrade for the backend. |
@Tratcher I'm looking for network requirements, with performance latency and etc... |
Not necessarily. A) you'll have to find out if your proxy even supports proxying it. B) HTTP/3 was designed for unstable external networks, it's not especially helpful on stable internal networks. And since it requires encryption, that adds overhead that HTTP/1.x wouldn't have for the backend. |
any updates on this? it's been such a long time |
@vsg24 What action are you looking for here? Based on the back and forth, it seems like there was some question as to whether the scenario was even worthwhile. Is the issue that the sample doesn't work as written? If so, have you confirmed in a more recent build of aspnetcore? |
We might fix a bug in a sample app, but HTTP/3 isn't a focus in 9.0. |
@amcasey I expect the default implementation to just work so we don't have to resort to writing all that extra code. |
Is there an existing issue for this?
Describe the bug
I tried to run the
Http3Sample
but found that the server rejects all the Http3 requests made to it from the browser (Edge Version 101.0.1210.47). However, a simple C# script that I wrote can reach the server over Http/3:I also noticed that if I replace the existing certificate
with a newly generated one (see script below), then I can connect to the server via WebTransport APIs in DevTools. The main browser still is refused though.
The above code snippet was taken from https://github.com/wegylexy/webtransport, which seems to have a WebTransport and http/3 server working in C#.
Expected Behavior
I should be able to fetch the
Hello, World! Http/3
via the browser. However, I always either getHello, World! Http/2
or the browser connection refused message.Steps To Reproduce
To become
(This avoids the known bug that prevents the connection)
https://localhost:5001
.You can also modify the
listenOptions.Protocols
to only include Http/3. In those cases, it always times out instead of just always defaulting to Http/2.Exceptions (if any)
No response
.NET Version
No response
Anything else?
Microsoft Visual Studio Enterprise 2022 (64-bit) - Preview
Version 17.3.0 Preview 1.0
(aspnetcore) PS C:\aspnetcore> dotnet --info
.NET SDK:
Version: 7.0.100-preview.5.22228.6
Commit: f59d2cfdfe
Runtime Environment:
OS Name: Windows
OS Version: 10.0.22000
OS Platform: Windows
RID: win10-x64
Base Path: C:\aspnetcore.dotnet\sdk\7.0.100-preview.5.22228.6\
global.json file:
C:\aspnetcore\global.json
Host:
Version: 7.0.0-preview.5.22254.12
Architecture: x64
Commit: 874c6a9375
.NET SDKs installed:
7.0.100-preview.5.22228.6 [C:\aspnetcore.dotnet\sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 7.0.0-preview.5.22228.1 [C:\aspnetcore.dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 7.0.0-preview.5.22226.6 [C:\aspnetcore.dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 7.0.0-preview.5.22254.12 [C:\aspnetcore.dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 7.0.0-preview.5.22226.7 [C:\aspnetcore.dotnet\shared\Microsoft.WindowsDesktop.App]
The text was updated successfully, but these errors were encountered: