Skip to content

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

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

Open
JamesNK opened this issue Oct 10, 2019 · 12 comments
Labels
affected-very-few This issue impacts very few customers area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions enhancement This issue represents an ask for new feature or an enhancement to an existing one severity-nice-to-have This label is used by an internal tool
Milestone

Comments

@JamesNK
Copy link
Member

JamesNK commented Oct 10, 2019

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
@Tratcher
Copy link
Member

Do you have examples for the client and server errors you see for each of these? Expect different client errors in browsers vs libraries (HttpClient).

1 Client (HTTP/2 with and without TLS) calling HTTP/1 only port

With TLS:
The client should get an ALPN error. The server will only see the client disconnect with an incomplete handshake, it can't tell why.

Without TLS:
It would require sniffing the "PRI *" preamble in the HTTP/1 parser. Cost: Small

2 Client (HTTP/1 with and without TLS) calling HTTP/2 only port

Similar to case 1. We should already be logging a decent error for the non-TLS scenario when the preamble doesn't match, but we may not be sending it to the client.

3 Client (HTTP/2 without TLS) calling HTTP/1 and HTTP/2 port (will fail because no negotiation and default to 1.1)

There's no such thing as a HTTP/1 + HTTP/2 port without TLS (Upgrades asside). The two can only be combine with TLS and ALPN. In practice this is the same as case 1 above.

4 Client (no TLS) calling TLS port

Would require intercepting the TLS handshake. Cost: Medium.

5 Client (TLS) calling no TLS port

I thought we already added a server log for this in 3.0? Sending an error to the client here would be hard, we'd have to emulate TLS. A TLS fatal Alert maybe?

@Tratcher
Copy link
Member

Since the cause, solution, and priority for each of these is so different we'll want to break out any we decide to address into individual issues.

@JamesNK
Copy link
Member Author

JamesNK commented Oct 10, 2019

I'll investigate. Will update this issue and then we can create more targeted issues.

@JamesNK
Copy link
Member Author

JamesNK commented Oct 10, 2019

Test app: https://github.com/JamesNK/HttpConnectionErrors

Server output:

dbug: Microsoft.Extensions.Hosting.Internal.Host[1]
      Hosting starting
dbug: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[0]
      Using development certificate: CN=localhost (Thumbprint: 2FE5E630929AB7660BC1C995E3F989C91B6CDE2F)
dbug: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[2]
      Failed to locate the development https certificate at '(null)'.
warn: Microsoft.AspNetCore.Server.Kestrel[0]
      Overriding address(es) 'https://localhost:5001, http://localhost:5000'. Binding to endpoints defined in UseKestrel() instead.
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: https://localhost:5001
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: https://localhost:5002
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://localhost:5010
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: https://localhost:5011
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: https://localhost:5012
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://localhost:5020
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: https://localhost:5021
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: https://localhost:5022
dbug: Microsoft.AspNetCore.Hosting.Diagnostics[0]
      Loaded hosting startup assembly Server
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
      Content root path: C:\Development\Source\HttpConnectionErrors\src\Server
dbug: Microsoft.Extensions.Hosting.Internal.Host[2]
      Hosting started
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO064S" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO064S" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  52
dbug: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[0]
      Wildcard detected, all requests with hosts will be allowed.
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO064S", Request id "0HLQDO7RO064S:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO064S", Request id "0HLQDO7RO064S:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/1.1 - No TLS
      Server: HTTP/1.1 - No TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO064S" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 29.439500000000002ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO064T" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO064T" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 GET http://localhost:5000/?http2=False&tls=False
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/'
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1005]
      Endpoint '/{*catchAll} HTTP: GET' with route pattern '/{*catchAll}' is valid for the request path '/'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/{*catchAll} HTTP: GET'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/{*catchAll} HTTP: GET'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/{*catchAll} HTTP: GET'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO064T" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 2.9698ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO064U" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO064U" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  49
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO064U", Request id "0HLQDO7RO064U:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO064U", Request id "0HLQDO7RO064U:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/1.1 - No TLS
      Server: HTTP/1.1 - TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO064U" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.23270000000000002ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO064V" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO064V" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1]
      Failed to authenticate HTTPS connection.
System.IO.IOException: The handshake failed due to an unexpected packet format.
   at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.ProcessAuthentication(LazyAsyncResult lazyResult, CancellationToken cancellationToken)
   at System.Net.Security.SslStream.BeginAuthenticateAsServer(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken, AsyncCallback asyncCallback, Object asyncState)
   at System.Net.Security.SslStream.<>c.<AuthenticateAsServerAsync>b__69_0(SslServerAuthenticationOptions arg1, CancellationToken arg2, AsyncCallback callback, Object state)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncImpl[TArg1,TArg2](Func`5 beginMethod, Func`2 endFunction, Action`1 endAction, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state)
   at System.Net.Security.SslStream.AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context)
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO064V" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO064V" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0650" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0650" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  57
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO0650", Request id "0HLQDO7RO0650:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO0650", Request id "0HLQDO7RO0650:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/1.1 - No TLS
      Server: HTTP/1.1 - Invalid TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO0650" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1095ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0651" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0651" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1]
      Failed to authenticate HTTPS connection.
System.IO.IOException: The handshake failed due to an unexpected packet format.
   at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.ProcessAuthentication(LazyAsyncResult lazyResult, CancellationToken cancellationToken)
   at System.Net.Security.SslStream.BeginAuthenticateAsServer(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken, AsyncCallback asyncCallback, Object asyncState)
   at System.Net.Security.SslStream.<>c.<AuthenticateAsServerAsync>b__69_0(SslServerAuthenticationOptions arg1, CancellationToken arg2, AsyncCallback callback, Object state)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncImpl[TArg1,TArg2](Func`5 beginMethod, Func`2 endFunction, Action`1 endAction, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state)
   at System.Net.Security.SslStream.AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context)
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0651" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0651" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0652" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0652" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  50
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO0652", Request id "0HLQDO7RO0652:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO0652", Request id "0HLQDO7RO0652:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/1.1 - No TLS
      Server: HTTP/2 - No TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO0652" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.11720000000000001ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0653" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0653" started.
dbug: Microsoft.AspNetCore.Server.Kestrel[29]
      Connection id "0HLQDO7RO0653": HTTP/2 connection error.
Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2ConnectionErrorException: HTTP/2 connection error (PROTOCOL_ERROR): Invalid HTTP/2 connection preface.
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.ParsePreface(ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.TryReadPrefaceAsync()
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.ProcessRequestsAsync[TContext](IHttpApplication`1 application)
dbug: Microsoft.AspNetCore.Server.Kestrel[36]
      Connection id "0HLQDO7RO0653" is closed. The last processed stream ID was 0.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0653" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0653" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0654" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0654" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  47
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO0654", Request id "0HLQDO7RO0654:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO0654", Request id "0HLQDO7RO0654:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/1.1 - No TLS
      Server: HTTP/2 - TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO0654" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1126ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0655" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0655" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1]
      Failed to authenticate HTTPS connection.
System.IO.IOException: The handshake failed due to an unexpected packet format.
   at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.ProcessAuthentication(LazyAsyncResult lazyResult, CancellationToken cancellationToken)
   at System.Net.Security.SslStream.BeginAuthenticateAsServer(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken, AsyncCallback asyncCallback, Object asyncState)
   at System.Net.Security.SslStream.<>c.<AuthenticateAsServerAsync>b__69_0(SslServerAuthenticationOptions arg1, CancellationToken arg2, AsyncCallback callback, Object state)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncImpl[TArg1,TArg2](Func`5 beginMethod, Func`2 endFunction, Action`1 endAction, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state)
   at System.Net.Security.SslStream.AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context)
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0655" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0655" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0656" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0656" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  55
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO0656", Request id "0HLQDO7RO0656:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO0656", Request id "0HLQDO7RO0656:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/1.1 - No TLS
      Server: HTTP/2 - Invalid TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO0656" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 1.2335ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0657" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0657" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1]
      Failed to authenticate HTTPS connection.
System.IO.IOException: The handshake failed due to an unexpected packet format.
   at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.ProcessAuthentication(LazyAsyncResult lazyResult, CancellationToken cancellationToken)
   at System.Net.Security.SslStream.BeginAuthenticateAsServer(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken, AsyncCallback asyncCallback, Object asyncState)
   at System.Net.Security.SslStream.<>c.<AuthenticateAsServerAsync>b__69_0(SslServerAuthenticationOptions arg1, CancellationToken arg2, AsyncCallback callback, Object state)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncImpl[TArg1,TArg2](Func`5 beginMethod, Func`2 endFunction, Action`1 endAction, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state)
   at System.Net.Security.SslStream.AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context)
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0657" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0657" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0658" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0658" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  61
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO0658", Request id "0HLQDO7RO0658:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO0658", Request id "0HLQDO7RO0658:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/1.1 - No TLS
      Server: HTTP/1.1 & HTTP/2 - No TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO0658" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1275ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0659" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0659" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 GET http://localhost:5020/?http2=False&tls=False
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/'
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1005]
      Endpoint '/{*catchAll} HTTP: GET' with route pattern '/{*catchAll}' is valid for the request path '/'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/{*catchAll} HTTP: GET'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/{*catchAll} HTTP: GET'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/{*catchAll} HTTP: GET'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO0659" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.13240000000000002ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO065A" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO065A" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  58
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO065A", Request id "0HLQDO7RO065A:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO065A", Request id "0HLQDO7RO065A:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/1.1 - No TLS
      Server: HTTP/1.1 & HTTP/2 - TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO065A" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1482ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO065B" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO065B" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1]
      Failed to authenticate HTTPS connection.
System.IO.IOException: The handshake failed due to an unexpected packet format.
   at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.ProcessAuthentication(LazyAsyncResult lazyResult, CancellationToken cancellationToken)
   at System.Net.Security.SslStream.BeginAuthenticateAsServer(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken, AsyncCallback asyncCallback, Object asyncState)
   at System.Net.Security.SslStream.<>c.<AuthenticateAsServerAsync>b__69_0(SslServerAuthenticationOptions arg1, CancellationToken arg2, AsyncCallback callback, Object state)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncImpl[TArg1,TArg2](Func`5 beginMethod, Func`2 endFunction, Action`1 endAction, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state)
   at System.Net.Security.SslStream.AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context)
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065B" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065B" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO065C" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO065C" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  66
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO065C", Request id "0HLQDO7RO065C:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO065C", Request id "0HLQDO7RO065C:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/1.1 - No TLS
      Server: HTTP/1.1 & HTTP/2 - Invalid TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO065C" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.15910000000000002ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO065D" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO065D" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1]
      Failed to authenticate HTTPS connection.
System.IO.IOException: The handshake failed due to an unexpected packet format.
   at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.PartialFrameCallback(AsyncProtocolRequest asyncRequest)
--- End of stack trace from previous location where exception was thrown ---
   at System.Net.Security.SslStream.ThrowIfExceptional()
   at System.Net.Security.SslStream.InternalEndProcessAuthentication(LazyAsyncResult lazyResult)
   at System.Net.Security.SslStream.EndProcessAuthentication(IAsyncResult result)
   at System.Net.Security.SslStream.EndAuthenticateAsServer(IAsyncResult asyncResult)
   at System.Net.Security.SslStream.<>c.<AuthenticateAsServerAsync>b__69_1(IAsyncResult iar)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context)
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065D" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065D" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO065E" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO065E" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  49
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO065E", Request id "0HLQDO7RO065E:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO065E", Request id "0HLQDO7RO065E:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/1.1 - TLS
      Server: HTTP/1.1 - No TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO065E" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1547ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO065F" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO065F" started.
dbug: Microsoft.AspNetCore.Server.Kestrel[17]
      Connection id "0HLQDO7RO065F" bad request data: "Invalid request line: '\x16\x03\x03\x00\xA0\x01\x00\x00\x9C\x03\x03]\x9F\x97\x09p\x93v\xEB\x8D\xAAFK\xEAv\xF1o\xE9\x86\x97fF\x81\x96\xAC\x1B\xF0\xD8\x0F1\x00\x9B7\x00\x00*\xC0,\xC0+\xC00\xC0/\x00\x9F\x00\x9E\xC0$\xC0#\xC0(\xC0'\xC0\x0A'"
Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException: Invalid request line: '\x16\x03\x03\x00\xA0\x01\x00\x00\x9C\x03\x03]\x9F\x97\x09p\x93v\xEB\x8D\xAAFK\xEAv\xF1o\xE9\x86\x97fF\x81\x96\xAC\x1B\xF0\xD8\x0F1\x00\x9B7\x00\x00*\xC0,\xC0+\xC00\xC0/\x00\x9F\x00\x9E\xC0$\xC0#\xC0(\xC0'\xC0\x0A'
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.RejectRequestLine(Byte* requestLine, Int32 length)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.GetUnknownMethod(Byte* data, Int32 length, Int32& methodLength)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.ParseRequestLine(TRequestHandler handler, Byte* data, Int32 length)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.ParseRequestLine(TRequestHandler handler, ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.IHttpParser<TRequestHandler>.ParseRequestLine(TRequestHandler handler, ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1Connection.TakeStartLine(ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1Connection.ParseRequest(ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1Connection.TryParseRequest(ReadResult result, Boolean& endConnection)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequestsAsync[TContext](IHttpApplication`1 application)
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065F" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065F" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065F" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO065G" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO065G" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  46
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO065G", Request id "0HLQDO7RO065G:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO065G", Request id "0HLQDO7RO065G:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/1.1 - TLS
      Server: HTTP/1.1 - TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO065G" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.13720000000000002ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO065H" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO065H" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 GET https://localhost:5001/?http2=False&tls=True
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/'
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1005]
      Endpoint '/{*catchAll} HTTP: GET' with route pattern '/{*catchAll}' is valid for the request path '/'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/{*catchAll} HTTP: GET'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/{*catchAll} HTTP: GET'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/{*catchAll} HTTP: GET'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO065H" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 1.5838ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO065I" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO065I" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  54
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO065I", Request id "0HLQDO7RO065I:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO065I", Request id "0HLQDO7RO065I:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/1.1 - TLS
      Server: HTTP/1.1 - Invalid TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO065I" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.11420000000000001ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO065J" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO065J" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[6]
      Connection id "0HLQDO7RO065J" received FIN.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065J" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065J" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[20]
      Connection id "0HLQDO7RO065J" request processing ended abnormally.
System.IO.IOException: The decryption operation failed, see inner exception.
 ---> System.ComponentModel.Win32Exception (0x80090327): An unknown error occurred while processing the certificate.
   --- End of inner exception stack trace ---
   at System.Net.Security.SslStream.ReadAsyncInternal[TReadAdapter](TReadAdapter adapter, Memory`1 buffer)
   at System.IO.Pipelines.StreamPipeReader.ReadAsync(CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequestsAsync[TContext](IHttpApplication`1 application)
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065J" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO065K" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO065K" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  47
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO065K", Request id "0HLQDO7RO065K:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO065K", Request id "0HLQDO7RO065K:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/1.1 - TLS
      Server: HTTP/2 - No TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO065K" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1216ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO065L" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO065L" started.
dbug: Microsoft.AspNetCore.Server.Kestrel[29]
      Connection id "0HLQDO7RO065L": HTTP/2 connection error.
Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2ConnectionErrorException: HTTP/2 connection error (PROTOCOL_ERROR): Invalid HTTP/2 connection preface.
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.ParsePreface(ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.TryReadPrefaceAsync()
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.ProcessRequestsAsync[TContext](IHttpApplication`1 application)
dbug: Microsoft.AspNetCore.Server.Kestrel[36]
      Connection id "0HLQDO7RO065L" is closed. The last processed stream ID was 0.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065L" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065L" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO065M" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO065M" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  44
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO065M", Request id "0HLQDO7RO065M:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO065M", Request id "0HLQDO7RO065M:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/1.1 - TLS
      Server: HTTP/2 - TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO065M" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1318ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO065N" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO065N" started.
fail: Microsoft.AspNetCore.Server.Kestrel[0]
      HTTP/2 over TLS was not negotiated on an HTTP/2-only endpoint.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065N" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065N" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO065O" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO065O" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  52
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO065O", Request id "0HLQDO7RO065O:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO065O", Request id "0HLQDO7RO065O:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/1.1 - TLS
      Server: HTTP/2 - Invalid TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO065O" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1173ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO065P" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO065P" started.
fail: Microsoft.AspNetCore.Server.Kestrel[0]
      HTTP/2 over TLS was not negotiated on an HTTP/2-only endpoint.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065P" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065P" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO065Q" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO065Q" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  58
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO065Q", Request id "0HLQDO7RO065Q:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO065Q", Request id "0HLQDO7RO065Q:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/1.1 - TLS
      Server: HTTP/1.1 & HTTP/2 - No TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO065Q" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1282ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO065R" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO065R" started.
dbug: Microsoft.AspNetCore.Server.Kestrel[17]
      Connection id "0HLQDO7RO065R" bad request data: "Invalid request line: '\x16\x03\x03\x00\xC0\x01\x00\x00\xBC\x03\x03]\x9F\x97\x09\xCA^\xBC\x9A6\xC9\xF5\x03\x19\x10\xB1\x12\x12\xBE,r\x07t:\xAD\xA6x\x1AY\xD8x\x9A\xE6 \xFC)\x00\x00X\x02\xB9\x16\xE4\xEE\xCB\x13:\x06e\x91\xE1\x004=\xF1p\xBA\xFED<\x0F\x88\xAEp5x\x00*\xC0,\xC0+\xC00\xC0/\x00\x9F\x00\x9E\xC0$\xC0#\xC0(\xC0'\xC0\x0A'"
Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException: Invalid request line: '\x16\x03\x03\x00\xC0\x01\x00\x00\xBC\x03\x03]\x9F\x97\x09\xCA^\xBC\x9A6\xC9\xF5\x03\x19\x10\xB1\x12\x12\xBE,r\x07t:\xAD\xA6x\x1AY\xD8x\x9A\xE6 \xFC)\x00\x00X\x02\xB9\x16\xE4\xEE\xCB\x13:\x06e\x91\xE1\x004=\xF1p\xBA\xFED<\x0F\x88\xAEp5x\x00*\xC0,\xC0+\xC00\xC0/\x00\x9F\x00\x9E\xC0$\xC0#\xC0(\xC0'\xC0\x0A'
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.RejectRequestLine(Byte* requestLine, Int32 length)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.GetUnknownMethod(Byte* data, Int32 length, Int32& methodLength)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.ParseRequestLine(TRequestHandler handler, Byte* data, Int32 length)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.ParseRequestLine(TRequestHandler handler, ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.IHttpParser<TRequestHandler>.ParseRequestLine(TRequestHandler handler, ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1Connection.TakeStartLine(ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1Connection.ParseRequest(ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1Connection.TryParseRequest(ReadResult result, Boolean& endConnection)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequestsAsync[TContext](IHttpApplication`1 application)
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065R" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065R" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065R" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO065S" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO065S" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  55
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO065S", Request id "0HLQDO7RO065S:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO065S", Request id "0HLQDO7RO065S:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/1.1 - TLS
      Server: HTTP/1.1 & HTTP/2 - TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO065S" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1432ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO065T" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO065T" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 GET https://localhost:5021/?http2=False&tls=True
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/'
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1005]
      Endpoint '/{*catchAll} HTTP: GET' with route pattern '/{*catchAll}' is valid for the request path '/'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/{*catchAll} HTTP: GET'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/{*catchAll} HTTP: GET'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/{*catchAll} HTTP: GET'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO065T" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1301ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO065U" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO065U" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  63
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO065U", Request id "0HLQDO7RO065U:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO065U", Request id "0HLQDO7RO065U:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/1.1 - TLS
      Server: HTTP/1.1 & HTTP/2 - Invalid TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO065U" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1168ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO065V" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO065V" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[6]
      Connection id "0HLQDO7RO065V" received FIN.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065V" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065V" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[20]
      Connection id "0HLQDO7RO065V" request processing ended abnormally.
System.IO.IOException: The decryption operation failed, see inner exception.
 ---> System.ComponentModel.Win32Exception (0x80090327): An unknown error occurred while processing the certificate.
   --- End of inner exception stack trace ---
   at System.Net.Security.SslStream.ReadAsyncInternal[TReadAdapter](TReadAdapter adapter, Memory`1 buffer)
   at System.IO.Pipelines.StreamPipeReader.ReadAsync(CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequestsAsync[TContext](IHttpApplication`1 application)
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065V" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0660" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0660" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  50
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO0660", Request id "0HLQDO7RO0660:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO0660", Request id "0HLQDO7RO0660:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/2 - No TLS
      Server: HTTP/1.1 - No TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO0660" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.924ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0661" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0661" started.
dbug: Microsoft.AspNetCore.Server.Kestrel[17]
      Connection id "0HLQDO7RO0661" bad request data: "Unrecognized HTTP version: 'HTTP/2.0'"
Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException: Unrecognized HTTP version: 'HTTP/2.0'
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.RejectUnknownVersion(Byte* version, Int32 length)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.ParseRequestLine(TRequestHandler handler, Byte* data, Int32 length)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.ParseRequestLine(TRequestHandler handler, ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.IHttpParser<TRequestHandler>.ParseRequestLine(TRequestHandler handler, ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1Connection.TakeStartLine(ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1Connection.ParseRequest(ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1Connection.TryParseRequest(ReadResult result, Boolean& endConnection)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequestsAsync[TContext](IHttpApplication`1 application)
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0661" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0661" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0661" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0662" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0662" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  47
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO0662", Request id "0HLQDO7RO0662:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO0662", Request id "0HLQDO7RO0662:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/2 - No TLS
      Server: HTTP/1.1 - TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO0662" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.40940000000000004ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0663" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0663" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1]
      Failed to authenticate HTTPS connection.
System.IO.IOException: The handshake failed due to an unexpected packet format.
   at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.PartialFrameCallback(AsyncProtocolRequest asyncRequest)
--- End of stack trace from previous location where exception was thrown ---
   at System.Net.Security.SslStream.ThrowIfExceptional()
   at System.Net.Security.SslStream.InternalEndProcessAuthentication(LazyAsyncResult lazyResult)
   at System.Net.Security.SslStream.EndProcessAuthentication(IAsyncResult result)
   at System.Net.Security.SslStream.EndAuthenticateAsServer(IAsyncResult asyncResult)
   at System.Net.Security.SslStream.<>c.<AuthenticateAsServerAsync>b__69_1(IAsyncResult iar)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context)
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0663" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0663" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0664" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0664" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  55
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO0664", Request id "0HLQDO7RO0664:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO0664", Request id "0HLQDO7RO0664:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/2 - No TLS
      Server: HTTP/1.1 - Invalid TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO0664" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1223ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0665" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0665" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1]
      Failed to authenticate HTTPS connection.
System.IO.IOException: The handshake failed due to an unexpected packet format.
   at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.ProcessAuthentication(LazyAsyncResult lazyResult, CancellationToken cancellationToken)
   at System.Net.Security.SslStream.BeginAuthenticateAsServer(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken, AsyncCallback asyncCallback, Object asyncState)
   at System.Net.Security.SslStream.<>c.<AuthenticateAsServerAsync>b__69_0(SslServerAuthenticationOptions arg1, CancellationToken arg2, AsyncCallback callback, Object state)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncImpl[TArg1,TArg2](Func`5 beginMethod, Func`2 endFunction, Action`1 endAction, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state)
   at System.Net.Security.SslStream.AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context)
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0665" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0665" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0666" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0666" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  48
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO0666", Request id "0HLQDO7RO0666:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO0666", Request id "0HLQDO7RO0666:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/2 - No TLS
      Server: HTTP/2 - No TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO0666" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1073ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0667" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0667" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/2 GET http://localhost:5010/?http2=True&tls=False
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/'
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1005]
      Endpoint '/{*catchAll} HTTP: GET' with route pattern '/{*catchAll}' is valid for the request path '/'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/{*catchAll} HTTP: GET'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/{*catchAll} HTTP: GET'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/{*catchAll} HTTP: GET'
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 1.9129ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0668" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0668" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  45
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO0668", Request id "0HLQDO7RO0668:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO0668", Request id "0HLQDO7RO0668:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/2 - No TLS
      Server: HTTP/2 - TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO0668" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.10650000000000001ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0669" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0669" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1]
      Failed to authenticate HTTPS connection.
System.IO.IOException: The handshake failed due to an unexpected packet format.
   at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.PartialFrameCallback(AsyncProtocolRequest asyncRequest)
--- End of stack trace from previous location where exception was thrown ---
   at System.Net.Security.SslStream.ThrowIfExceptional()
   at System.Net.Security.SslStream.InternalEndProcessAuthentication(LazyAsyncResult lazyResult)
   at System.Net.Security.SslStream.EndProcessAuthentication(IAsyncResult result)
   at System.Net.Security.SslStream.EndAuthenticateAsServer(IAsyncResult asyncResult)
   at System.Net.Security.SslStream.<>c.<AuthenticateAsServerAsync>b__69_1(IAsyncResult iar)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context)
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0669" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0669" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066A" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066A" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  53
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO066A", Request id "0HLQDO7RO066A:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO066A", Request id "0HLQDO7RO066A:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/2 - No TLS
      Server: HTTP/2 - Invalid TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO066A" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.10450000000000001ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066B" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066B" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1]
      Failed to authenticate HTTPS connection.
System.IO.IOException: The handshake failed due to an unexpected packet format.
   at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.ProcessAuthentication(LazyAsyncResult lazyResult, CancellationToken cancellationToken)
   at System.Net.Security.SslStream.BeginAuthenticateAsServer(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken, AsyncCallback asyncCallback, Object asyncState)
   at System.Net.Security.SslStream.<>c.<AuthenticateAsServerAsync>b__69_0(SslServerAuthenticationOptions arg1, CancellationToken arg2, AsyncCallback callback, Object state)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncImpl[TArg1,TArg2](Func`5 beginMethod, Func`2 endFunction, Action`1 endAction, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state)
   at System.Net.Security.SslStream.AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context)
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066B" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066B" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066C" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066C" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  59
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO066C", Request id "0HLQDO7RO066C:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO066C", Request id "0HLQDO7RO066C:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/2 - No TLS
      Server: HTTP/1.1 & HTTP/2 - No TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO066C" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.11760000000000001ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066D" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066D" started.
dbug: Microsoft.AspNetCore.Server.Kestrel[17]
      Connection id "0HLQDO7RO066D" bad request data: "Unrecognized HTTP version: 'HTTP/2.0'"
Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException: Unrecognized HTTP version: 'HTTP/2.0'
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.RejectUnknownVersion(Byte* version, Int32 length)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.ParseRequestLine(TRequestHandler handler, Byte* data, Int32 length)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.ParseRequestLine(TRequestHandler handler, ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.IHttpParser<TRequestHandler>.ParseRequestLine(TRequestHandler handler, ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1Connection.TakeStartLine(ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1Connection.ParseRequest(ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1Connection.TryParseRequest(ReadResult result, Boolean& endConnection)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequestsAsync[TContext](IHttpApplication`1 application)
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066D" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066D" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066D" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066E" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066E" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  56
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO066E", Request id "0HLQDO7RO066E:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO066E", Request id "0HLQDO7RO066E:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/2 - No TLS
      Server: HTTP/1.1 & HTTP/2 - TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO066E" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.156ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066F" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066F" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1]
      Failed to authenticate HTTPS connection.
System.IO.IOException: The handshake failed due to an unexpected packet format.
   at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.ProcessAuthentication(LazyAsyncResult lazyResult, CancellationToken cancellationToken)
   at System.Net.Security.SslStream.BeginAuthenticateAsServer(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken, AsyncCallback asyncCallback, Object asyncState)
   at System.Net.Security.SslStream.<>c.<AuthenticateAsServerAsync>b__69_0(SslServerAuthenticationOptions arg1, CancellationToken arg2, AsyncCallback callback, Object state)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncImpl[TArg1,TArg2](Func`5 beginMethod, Func`2 endFunction, Action`1 endAction, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state)
   at System.Net.Security.SslStream.AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context)
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066F" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066F" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066G" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066G" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  64
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO066G", Request id "0HLQDO7RO066G:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO066G", Request id "0HLQDO7RO066G:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/2 - No TLS
      Server: HTTP/1.1 & HTTP/2 - Invalid TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO066G" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.12390000000000001ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066H" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066H" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1]
      Failed to authenticate HTTPS connection.
System.IO.IOException: The handshake failed due to an unexpected packet format.
   at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.ProcessAuthentication(LazyAsyncResult lazyResult, CancellationToken cancellationToken)
   at System.Net.Security.SslStream.BeginAuthenticateAsServer(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken, AsyncCallback asyncCallback, Object asyncState)
   at System.Net.Security.SslStream.<>c.<AuthenticateAsServerAsync>b__69_0(SslServerAuthenticationOptions arg1, CancellationToken arg2, AsyncCallback callback, Object state)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncImpl[TArg1,TArg2](Func`5 beginMethod, Func`2 endFunction, Action`1 endAction, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state)
   at System.Net.Security.SslStream.AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context)
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066H" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066H" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066I" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066I" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  47
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO066I", Request id "0HLQDO7RO066I:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO066I", Request id "0HLQDO7RO066I:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/2 - TLS
      Server: HTTP/1.1 - No TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO066I" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.12190000000000001ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066J" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066J" started.
dbug: Microsoft.AspNetCore.Server.Kestrel[17]
      Connection id "0HLQDO7RO066J" bad request data: "Invalid request line: '\x16\x03\x03\x00\xD2\x01\x00\x00\xCE\x03\x03]\x9F\x97\x0A'"
Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException: Invalid request line: '\x16\x03\x03\x00\xD2\x01\x00\x00\xCE\x03\x03]\x9F\x97\x0A'
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.RejectRequestLine(Byte* requestLine, Int32 length)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.GetUnknownMethod(Byte* data, Int32 length, Int32& methodLength)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.ParseRequestLine(TRequestHandler handler, Byte* data, Int32 length)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.ParseRequestLine(TRequestHandler handler, ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.IHttpParser<TRequestHandler>.ParseRequestLine(TRequestHandler handler, ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1Connection.TakeStartLine(ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1Connection.ParseRequest(ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1Connection.TryParseRequest(ReadResult result, Boolean& endConnection)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequestsAsync[TContext](IHttpApplication`1 application)
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066J" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066J" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066J" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066K" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066K" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  44
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO066K", Request id "0HLQDO7RO066K:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO066K", Request id "0HLQDO7RO066K:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/2 - TLS
      Server: HTTP/1.1 - TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO066K" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1268ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066L" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066L" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 GET https://localhost:5001/?http2=True&tls=True
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/'
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1005]
      Endpoint '/{*catchAll} HTTP: GET' with route pattern '/{*catchAll}' is valid for the request path '/'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/{*catchAll} HTTP: GET'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/{*catchAll} HTTP: GET'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/{*catchAll} HTTP: GET'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO066L" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1748ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066M" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065O" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO066C" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066M" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0662" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065I" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065O" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065O" disconnecting.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  52
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO066M", Request id "0HLQDO7RO066M:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065S" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO066M", Request id "0HLQDO7RO066M:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/2 - TLS
      Server: HTTP/1.1 - Invalid TLS

      =============================
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0654" reset.
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO066M" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1595ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066C" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066C" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0668" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065H" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO064S" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO066G" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0662" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065U" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0662" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0652" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065Q" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO066E" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0656" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065I" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0650" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065I" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065S" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065S" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065O" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0654" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO064T" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0654" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066C" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0662" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO066K" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0668" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0668" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065H" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065H" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0664" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0654" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO064S" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO064S" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0659" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066G" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065M" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066G" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065U" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065U" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065I" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0652" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0652" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066N" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065A" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0668" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065Q" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065T" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065Q" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066E" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO066I" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065G" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066E" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065C" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065U" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0656" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0652" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0650" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0656" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0650" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO064S" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO064T" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065K" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO064T" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066K" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0658" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066K" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065E" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0664" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0664" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0650" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0659" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0659" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065M" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066E" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065M" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066N" started.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0656" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO064U" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065A" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065S" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065A" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065T" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065T" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066I" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066K" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066I" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065G" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065Q" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065G" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065C" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO064T" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065C" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0660" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065K" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065K" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0658" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065G" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0658" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0666" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065E" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065E" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0664" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO066A" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO064U" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO064U" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065A" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066I" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0660" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0659" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0660" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0666" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0666" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066A" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066A" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065K" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066G" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065M" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0666" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0658" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0660" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065C" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO064U" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066A" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065E" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065H" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065T" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[6]
      Connection id "0HLQDO7RO066N" received FIN.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066N" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066N" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[20]
      Connection id "0HLQDO7RO066N" request processing ended abnormally.
System.IO.IOException: The decryption operation failed, see inner exception.
 ---> System.ComponentModel.Win32Exception (0x80090327): An unknown error occurred while processing the certificate.
   --- End of inner exception stack trace ---
   at System.Net.Security.SslStream.ReadAsyncInternal[TReadAdapter](TReadAdapter adapter, Memory`1 buffer)
   at System.IO.Pipelines.StreamPipeReader.ReadAsync(CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequestsAsync[TContext](IHttpApplication`1 application)
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066N" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066O" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066O" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  45
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO066O", Request id "0HLQDO7RO066O:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO066O", Request id "0HLQDO7RO066O:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/2 - TLS
      Server: HTTP/2 - No TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO066O" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1207ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066P" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066P" started.
dbug: Microsoft.AspNetCore.Server.Kestrel[29]
      Connection id "0HLQDO7RO066P": HTTP/2 connection error.
Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2ConnectionErrorException: HTTP/2 connection error (PROTOCOL_ERROR): Invalid HTTP/2 connection preface.
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.ParsePreface(ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.TryReadPrefaceAsync()
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.ProcessRequestsAsync[TContext](IHttpApplication`1 application)
dbug: Microsoft.AspNetCore.Server.Kestrel[36]
      Connection id "0HLQDO7RO066P" is closed. The last processed stream ID was 0.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066P" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066P" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066Q" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066Q" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  42
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO066Q", Request id "0HLQDO7RO066Q:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO066Q", Request id "0HLQDO7RO066Q:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/2 - TLS
      Server: HTTP/2 - TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO066Q" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1295ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066R" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066R" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/2 GET https://localhost:5011/?http2=True&tls=True
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/'
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1005]
      Endpoint '/{*catchAll} HTTP: GET' with route pattern '/{*catchAll}' is valid for the request path '/'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/{*catchAll} HTTP: GET'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/{*catchAll} HTTP: GET'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/{*catchAll} HTTP: GET'
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.2325ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066S" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066S" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  50
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO066S", Request id "0HLQDO7RO066S:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO066S", Request id "0HLQDO7RO066S:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/2 - TLS
      Server: HTTP/2 - Invalid TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO066S" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.11750000000000001ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066T" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066T" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[6]
      Connection id "0HLQDO7RO066T" received FIN.
dbug: Microsoft.AspNetCore.Server.Kestrel[36]
      Connection id "0HLQDO7RO066T" is closed. The last processed stream ID was 0.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066T" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[20]
      Connection id "0HLQDO7RO066T" request processing ended abnormally.
System.IO.IOException: The decryption operation failed, see inner exception.
 ---> System.ComponentModel.Win32Exception (0x80090327): An unknown error occurred while processing the certificate.
   --- End of inner exception stack trace ---
   at System.Net.Security.SslStream.ReadAsyncInternal[TReadAdapter](TReadAdapter adapter, Memory`1 buffer)
   at System.IO.Pipelines.StreamPipeReader.ReadAsync(CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.ReadInputAsync()
   at System.IO.Pipelines.PipeCompletion.ThrowLatchedException()
   at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
   at System.IO.Pipelines.Pipe.GetReadAsyncResult()
   at System.IO.Pipelines.Pipe.DefaultPipeReader.GetResult(Int16 token)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.TryReadPrefaceAsync()
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.ProcessRequestsAsync[TContext](IHttpApplication`1 application)
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066T" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066U" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066U" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  56
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO066U", Request id "0HLQDO7RO066U:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO066U", Request id "0HLQDO7RO066U:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/2 - TLS
      Server: HTTP/1.1 & HTTP/2 - No TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO066U" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.11170000000000001ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066V" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066V" started.
dbug: Microsoft.AspNetCore.Server.Kestrel[17]
      Connection id "0HLQDO7RO066V" bad request data: "Invalid request line: '\x16\x03\x03\x00\xD2\x01\x00\x00\xCE\x03\x03]\x9F\x97\x0A'"
Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException: Invalid request line: '\x16\x03\x03\x00\xD2\x01\x00\x00\xCE\x03\x03]\x9F\x97\x0A'
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.RejectRequestLine(Byte* requestLine, Int32 length)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.GetUnknownMethod(Byte* data, Int32 length, Int32& methodLength)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.ParseRequestLine(TRequestHandler handler, Byte* data, Int32 length)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.ParseRequestLine(TRequestHandler handler, ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser`1.Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.IHttpParser<TRequestHandler>.ParseRequestLine(TRequestHandler handler, ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1Connection.TakeStartLine(ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1Connection.ParseRequest(ReadOnlySequence`1& buffer, SequencePosition& consumed, SequencePosition& examined)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1Connection.TryParseRequest(ReadResult result, Boolean& endConnection)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequestsAsync[TContext](IHttpApplication`1 application)
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066V" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066V" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066V" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0670" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0670" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  53
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO0670", Request id "0HLQDO7RO0670:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO0670", Request id "0HLQDO7RO0670:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/2 - TLS
      Server: HTTP/1.1 & HTTP/2 - TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO0670" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1077ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0671" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0671" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/2 GET https://localhost:5021/?http2=True&tls=True
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/'
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1005]
      Endpoint '/{*catchAll} HTTP: GET' with route pattern '/{*catchAll}' is valid for the request path '/'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/{*catchAll} HTTP: GET'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/{*catchAll} HTTP: GET'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/{*catchAll} HTTP: GET'
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1638ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0672" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0672" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5000/echo  61
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/echo'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/echo HTTP: POST'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HLQDO7RO0672", Request id "0HLQDO7RO0672:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HLQDO7RO0672", Request id "0HLQDO7RO0672:00000001": done reading request body.
info: Server.Startup[0]
      =============================

      Client: HTTP/2 - TLS
      Server: HTTP/1.1 & HTTP/2 - Invalid TLS

      =============================
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO0672" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1306ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO0673" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO0673" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[6]
      Connection id "0HLQDO7RO0673" received FIN.
dbug: Microsoft.AspNetCore.Server.Kestrel[36]
      Connection id "0HLQDO7RO0673" is closed. The last processed stream ID was 0.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0673" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[20]
      Connection id "0HLQDO7RO0673" request processing ended abnormally.
System.IO.IOException: The decryption operation failed, see inner exception.
 ---> System.ComponentModel.Win32Exception (0x80090327): An unknown error occurred while processing the certificate.
   --- End of inner exception stack trace ---
   at System.Net.Security.SslStream.ReadAsyncInternal[TReadAdapter](TReadAdapter adapter, Memory`1 buffer)
   at System.IO.Pipelines.StreamPipeReader.ReadAsync(CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.ReadInputAsync()
   at System.IO.Pipelines.PipeCompletion.ThrowLatchedException()
   at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
   at System.IO.Pipelines.Pipe.GetReadAsyncResult()
   at System.IO.Pipelines.Pipe.DefaultPipeReader.GetResult(Int16 token)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.TryReadPrefaceAsync()
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.ProcessRequestsAsync[TContext](IHttpApplication`1 application)
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0673" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0670" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0672" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0670" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0671" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0672" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0670" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0672" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[36]
      Connection id "0HLQDO7RO0671" is closed. The last processed stream ID was 1.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0671" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0670" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0672" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0667" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[36]
      Connection id "0HLQDO7RO0667" is closed. The last processed stream ID was 1.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0667" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO066O" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066O" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066O" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO066S" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO066M" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066S" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066M" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066S" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066M" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO066L" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066L" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066L" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066M" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO066U" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066U" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066U" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO066R" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[36]
      Connection id "0HLQDO7RO066R" is closed. The last processed stream ID was 1.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066R" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0667" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066S" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO066Q" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066Q" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066U" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066Q" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066Q" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0671" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066O" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066L" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066R" stopped.

@Tratcher
Copy link
Member

Nice permutation. You're not logging the client errors?

Next would be grouping by error message.

@JamesNK
Copy link
Member Author

JamesNK commented Oct 10, 2019

I'm doing the same exercise with HttpClient on dotnet/corefx 😄

Client errors: https://github.com/dotnet/corefx/issues/41701#issuecomment-540777343

@JamesNK
Copy link
Member Author

JamesNK commented Oct 10, 2019

Grouped:

Client: HTTP/1.1 - No TLS
Server: HTTP/1.1 - TLS

Client: HTTP/1.1 - No TLS
Server: HTTP/1.1 - Invalid TLS

Client: HTTP/1.1 - No TLS
Server: HTTP/2 - TLS

Client: HTTP/1.1 - No TLS
Server: HTTP/2 - Invalid TLS

Client: HTTP/1.1 - No TLS
Server: HTTP/1.1 & HTTP/2 - TLS

Client: HTTP/1.1 - No TLS
Server: HTTP/1.1 & HTTP/2 - Invalid TLS

Client: HTTP/2 - No TLS
Server: HTTP/1.1 - TLS

Client: HTTP/2 - No TLS
Server: HTTP/1.1 - Invalid TLS

Client: HTTP/2 - No TLS
Server: HTTP/2 - TLS

Client: HTTP/2 - No TLS
Server: HTTP/2 - Invalid TLS

Client: HTTP/2 - No TLS
Server: HTTP/1.1 & HTTP/2 - TLS

Client: HTTP/2 - No TLS
Server: HTTP/1.1 & HTTP/2 - Invalid TLS

      Failed to authenticate HTTPS connection.
System.IO.IOException: The handshake failed due to an unexpected packet format.

@JamesNK Can we recognize that the handshake failed because the client is not using TLS?


Client: HTTP/1.1 - No TLS
Server: HTTP/2 - No TLS

Client: HTTP/1.1 - TLS
Server: HTTP/2 - No TLS

Client: HTTP/2 - TLS
Server: HTTP/2 - No TLS

Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2ConnectionErrorException: HTTP/2 connection error (PROTOCOL_ERROR): Invalid HTTP/2 connection preface.

@JamesNK Can we recognize that HTTP/1.1 is being used on a HTTP/2 endpoint? Also, it seems odd that HTTP/2 + TLS generates the same message on a HTTP/2 + no TLS endpoint.


Client: HTTP/1.1 - TLS
Server: HTTP/1.1 - No TLS

Client: HTTP/1.1 - TLS
Server: HTTP/1.1 & HTTP/2 - No TLS

      Connection id "0HLQDO7RO065F" bad request data: "Invalid request line: '\x16\x03\x03\x00\xA0\x01\x00\x00\x9C\x03\x03]\x9F\x97\x09p\x93v\xEB\x8D\xAAFK\xEAv\xF1o\xE9\x86\x97fF\x81\x96\xAC\x1B\xF0\xD8\x0F1\x00\x9B7\x00\x00*\xC0,\xC0+\xC00\xC0/\x00\x9F\x00\x9E\xC0$\xC0#\xC0(\xC0'\xC0\x0A'"
Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException: Invalid request line: '\x16\x03\x03\x00\xA0\x01\x00\x00\x9C\x03\x03]\x9F\x97\x09p\x93v\xEB\x8D\xAAFK\xEAv\xF1o\xE9\x86\x97fF\x81\x96\xAC\x1B\xF0\xD8\x0F1\x00\x9B7\x00\x00*\xC0,\xC0+\xC00\xC0/\x00\x9F\x00\x9E\xC0$\xC0#\xC0(\xC0'\xC0\x0A'

@JamesNK Can we regonize that TLS is being used on a non-TLS endpoint?


Client: HTTP/1.1 - TLS
Server: HTTP/1.1 - Invalid TLS

Client: HTTP/1.1 - TLS
Server: HTTP/1.1 & HTTP/2 - Invalid TLS

Client: HTTP/2 - TLS
Server: HTTP/2 - Invalid TLS

Client: HTTP/2 - TLS
Server: HTTP/1.1 & HTTP/2 - Invalid TLS

System.IO.IOException: The decryption operation failed, see inner exception.
 ---> System.ComponentModel.Win32Exception (0x80090327): An unknown error occurred while processing the certificate.

@JamesNK Can we give a clearer message than unknown error?


Client: HTTP/1.1 - TLS
Server: HTTP/2 - TLS

Client: HTTP/1.1 - TLS
Server: HTTP/2 - Invalid TLS

fail: Microsoft.AspNetCore.Server.Kestrel[0]
      HTTP/2 over TLS was not negotiated on an HTTP/2-only endpoint.

@JamesNK Can we say what the client tried to call with? (HTTP/1.1)


Client: HTTP/2 - No TLS
Server: HTTP/1.1 - No TLS

Client: HTTP/2 - No TLS
Server: HTTP/1.1 & HTTP/2 - No TLS

Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException: Unrecognized HTTP version: 'HTTP/2.0'

@JamesNK Expand this message to say the endpoint requires protocol X?


Client: HTTP/2 - TLS
Server: HTTP/1.1 - No TLS

Client: HTTP/2 - TLS
Server: HTTP/1.1 & HTTP/2 - No TLS

      Connection id "0HLQDO7RO066J" bad request data: "Invalid request line: '\x16\x03\x03\x00\xD2\x01\x00\x00\xCE\x03\x03]\x9F\x97\x0A'"
Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException: Invalid request line: '\x16\x03\x03\x00\xD2\x01\x00\x00\xCE\x03\x03]\x9F\x97\x0A'

@JamesNK Can we regonize that TLS is being used on a non-TLS endpoint?


Client: HTTP/2 - TLS
Server: HTTP/1.1 - TLS

dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066L" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066L" started.
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 GET https://localhost:5001/?http2=True&tls=True
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/'
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1005]
      Endpoint '/{*catchAll} HTTP: GET' with route pattern '/{*catchAll}' is valid for the request path '/'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/{*catchAll} HTTP: GET'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/{*catchAll} HTTP: GET'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/{*catchAll} HTTP: GET'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO066L" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1748ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066M" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065O" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO066C" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066M" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0662" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065I" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065O" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065O" disconnecting.

@JamesNK I don't see how this could work, but there is no error on the server. Logging shows the connection being reset then eventually closed. Can we do anything here?

Edit: Is this silently downgrading to 1.1? Could the server log that?


Client: HTTP/2 - TLS
Server: HTTP/1.1 - Invalid TLS

dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0654" reset.
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/echo HTTP: POST'
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
      Connection id "0HLQDO7RO066M" completed keep alive response.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 0.1595ms 200
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066C" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066C" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0668" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065H" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO064S" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO066G" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0662" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065U" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0662" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0652" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065Q" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO066E" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0656" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065I" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0650" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065I" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065S" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065S" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065O" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0654" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO064T" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0654" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066C" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0662" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO066K" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0668" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0668" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065H" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065H" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0664" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0654" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO064S" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO064S" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0659" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066G" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065M" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066G" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065U" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065U" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065I" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0652" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0652" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HLQDO7RO066N" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065A" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0668" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065Q" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065T" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065Q" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066E" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO066I" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065G" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066E" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065C" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065U" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0656" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0652" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0650" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0656" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0650" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO064S" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO064T" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065K" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO064T" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066K" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0658" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066K" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO065E" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0664" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0664" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0650" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0659" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0659" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065M" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066E" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065M" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HLQDO7RO066N" started.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0656" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO064U" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065A" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065S" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065A" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065T" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065T" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066I" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066K" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066I" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065G" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065Q" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065G" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065C" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO064T" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065C" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0660" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065K" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065K" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0658" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065G" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0658" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO0666" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO065E" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO065E" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0664" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[19]
      Connection id "0HLQDO7RO066A" reset.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO064U" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO064U" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065A" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066I" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0660" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0659" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0660" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO0666" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO0666" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066A" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066A" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065K" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066G" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065M" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0666" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0658" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO0660" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065C" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO064U" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066A" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065E" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065H" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO065T" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[6]
      Connection id "0HLQDO7RO066N" received FIN.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HLQDO7RO066N" sending FIN because: "The client closed the connection."
dbug: Microsoft.AspNetCore.Server.Kestrel[10]
      Connection id "0HLQDO7RO066N" disconnecting.
dbug: Microsoft.AspNetCore.Server.Kestrel[20]
      Connection id "0HLQDO7RO066N" request processing ended abnormally.
System.IO.IOException: The decryption operation failed, see inner exception.
 ---> System.ComponentModel.Win32Exception (0x80090327): An unknown error occurred while processing the certificate.
   --- End of inner exception stack trace ---
   at System.Net.Security.SslStream.ReadAsyncInternal[TReadAdapter](TReadAdapter adapter, Memory`1 buffer)
   at System.IO.Pipelines.StreamPipeReader.ReadAsync(CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequestsAsync[TContext](IHttpApplication`1 application)
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HLQDO7RO066N" stopped.

@JamesNK The stopped and closing logs here might be coming from other HttpClients being closed. I should probably have disposed them after each scenario 😄

@analogrelay
Copy link
Contributor

analogrelay commented Oct 15, 2019

Is there proposed action here? I think this seems good and I'm all for sniffing different protocol stuff to produce better errors, but we need to break it down into specific actions we want to take.

@analogrelay analogrelay added the enhancement This issue represents an ask for new feature or an enhancement to an existing one label Oct 23, 2019
@analogrelay
Copy link
Contributor

Action: Let's build the matrix and try to produce useful errors for all the combinations in the logs at least. We may be able to do things like return 400 errors or TLS alerts, but I don't want to make the scope of this too big :).

@analogrelay analogrelay added this to the 5.0.0-preview1 milestone Oct 23, 2019
@JamesNK
Copy link
Member Author

JamesNK commented Oct 23, 2019

Is there proposed action here?

I posed some questions when I grouped all the errors together. The action is for a server expert to figure out whether these errors could be improved.

I don't think improving them is worth spending a lot of resources on, but it would be good to figure out if there are any quick wins to improve the debugging experience.

@analogrelay analogrelay removed this from the 5.0.0-preview1 milestone Mar 11, 2020
@shirhatti shirhatti added this to the Backlog milestone Mar 27, 2020
@jkotalik jkotalik added affected-very-few This issue impacts very few customers severity-nice-to-have This label is used by an internal tool labels Nov 12, 2020 — with ASP.NET Core Issue Ranking
@davidfowl
Copy link
Member

@JamesNK is this something that can be done by a contributor?

@JamesNK
Copy link
Member Author

JamesNK commented Jul 5, 2022

HTTP/1.1 sent to HTTP/2 endpoint and vice versa is done.

Remaining is detecting TLS with a non-TLS endpoint and vice versa.

@amcasey amcasey added area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions and removed area-runtime labels Aug 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
affected-very-few This issue impacts very few customers area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions enhancement This issue represents an ask for new feature or an enhancement to an existing one severity-nice-to-have This label is used by an internal tool
Projects
None yet
Development

No branches or pull requests

7 participants