reverse-proxy
reverse-proxy copied to clipboard
The client reported an error when copying the request body
Describe the bug
Yarp was working fine recently and for some unknown reason it stopped working yesterday for me. It appears to be isolated to my machine though as it works on our other developer's machines. When trying to proxy an ajax json post it's saying "The client reported an error when copying the request body."
Exceptions
info: Yarp.ReverseProxy.Forwarder.HttpForwarder[9]
Proxying to https://localhost:44301/MVC/Login/Verify HTTP/2 RequestVersionOrLower
warn: Yarp.ReverseProxy.Forwarder.HttpForwarder[48]
RequestBodyClient: The client reported an error when copying the request body.
System.AggregateException: One or more errors occurred. (Sent 0 request content bytes, but Content-Length promised 1255.) (An error occurred while sending the request.)
---> System.InvalidOperationException: Sent 0 request content bytes, but Content-Length promised 1255.
--- End of inner exception stack trace ---
---> (Inner Exception #1) System.Net.Http.HttpRequestException: An error occurred while sending the request.
---> System.IO.IOException: An error occurred when reading the request body from the client.
---> System.InvalidOperationException: Sent 0 request content bytes, but Content-Length promised 1255.
--- End of inner exception stack trace ---
at Yarp.ReverseProxy.Forwarder.StreamCopyHttpContent.SerializeToStreamAsync(Stream stream, TransportContext context, CancellationToken cancellationToken)
at Yarp.ReverseProxy.Forwarder.StreamCopyHttpContent.SerializeToStreamAsync(Stream stream, TransportContext context, CancellationToken cancellationToken)
at System.Net.Http.Http2Connection.Http2Stream.SendRequestBodyAsync(CancellationToken cancellationToken)
at System.Net.Http.Http2Connection.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.Http2Connection.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at Yarp.ReverseProxy.Forwarder.HttpForwarder.SendAsync(HttpContext context, String destinationPrefix, HttpMessageInvoker httpClient, ForwarderRequestConfig requestConfig, HttpTransformer transformer, CancellationToken cancellationToken)<---
Further technical details
- Started while using 2.0.1, upgraded to 2.1.0 in hopes that might fix it, but it didn't.
- The platform Windows