Skip to content

Add ALPN support to HttpListener #28669

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
WouterTinus opened this issue Feb 11, 2019 · 2 comments
Closed

Add ALPN support to HttpListener #28669

WouterTinus opened this issue Feb 11, 2019 · 2 comments
Labels
area-System.Net enhancement Product code improvement that does NOT require public API changes/additions
Milestone

Comments

@WouterTinus
Copy link

Support for ALPN was added to System.Net.Security.SslStream in #23157. This is great for applications that can claim a port for themselves using a TcpListener, but for my application I'm looking to use it in combination with the port sharing mechanism provided by a HttpListener.

The use case is to implement ACME TLS-ALPN-01 validation as defined by the IETF in https://tools.ietf.org/html/draft-ietf-acme-tls-alpn-05, but we don't want to take down IIS or become a proxy for it.

Our issue tracking this: win-acme/win-acme#990

If you would consider adding this to CoreFX - or point me somewhere else if I overlooked something - it would be great!

@davidsh
Copy link
Contributor

davidsh commented Feb 11, 2019

If you would consider adding this to CoreFX (or point me somewhere else if I overlooked something) it would be great!

There are two implementations of HttpListener in CoreFx. The Windows one is based on http.sys (same underlying technology that .NET Framework HttpListener uses). The Linux one is based on a separate implementation written directly using System.Net.Sockets (ported from Mono implementation).

So, implementing this feature would requires changes to both implementations.

@karelz
Copy link
Member

karelz commented Apr 2, 2019

We do not plan to evolve HttpListener futher - see https://github.com/dotnet/designs/issues/9 and dotnet/platform-compat#88
For full server support we recommend to use Kestrel, fully modern and high-performance HTTP server for .NET.

@karelz karelz closed this as completed Apr 2, 2019
@msftgits msftgits transferred this issue from dotnet/corefx Feb 1, 2020
@msftgits msftgits added this to the 3.0 milestone Feb 1, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 14, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-System.Net enhancement Product code improvement that does NOT require public API changes/additions
Projects
None yet
Development

No branches or pull requests

4 participants