dotnet / dotnet/aspnetcore

Improve logging and error messages when mismatch between client and server protocol/TLS

Open
#14,884 12 comments 3 reactions 0 assignees View on GitHub
affected-very-few area-networking enhancement severity-nice-to-have
Dominant language
C#
Stars
38.4k
Forks
10.9k
Avg merge
2d 6h
Merged PRs (30d)
290

Description

My experience with gRPC is that it is very common to run into trouble establishing a connection between the client and the server because of incorrect protocol/TLS.

The logging and error messages that Kestrel/IIS provides should do as much as possible to to help developers fix their own mistakes. Also I would like to make sure that we're sending the best response to clients in these situations to help the client give the developer a good understanding of what is wrong.

Common problem situations:
1. Client (HTTP/2 with and without TLS) calling HTTP/1 only port
2. Client (HTTP/1 with and without TLS) calling HTTP/2 only port
3. Client (HTTP/2 without TLS) calling HTTP/1 and HTTP/2 port (will fail because no negotiation and default to 1.1)
4. Client (no TLS) calling TLS port
5. Client (TLS) calling no TLS port

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.