Open
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:
- Client (HTTP/2 with and without TLS) calling HTTP/1 only port
- Client (HTTP/1 with and without TLS) calling HTTP/2 only port
- Client (HTTP/2 without TLS) calling HTTP/1 and HTTP/2 port (will fail because no negotiation and default to 1.1)
- Client (no TLS) calling TLS port
- Client (TLS) calling no TLS port