Skip to content

HTTP3 GET requests get forwarded with Transfer-Encoding chunked #2644

@nimatt

Description

@nimatt

Describe the bug

When performing a simple GET request over HTTP3 using Firefox, which gets forwarded using HTTP1.1. The outgoing request gets a StreamCopyHttpContent (with HTTP2 and HTTP1.1 it has null as content) which leads to Transfer-Encoding header being set to chunked. This makes one of our servers behind the proxy throw errors.

To Reproduce

  • Set up a proxy supporting HTTP3
  • Forward data to a HTTP1.1 server
  • Perform a GET request using Firefox

Further technical details

  • .NET 8.0
  • Yarp 2.2.0
  • Linux

Outgoing request
GET / HTTP/1.1
Host: dev.local
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:132.0) Gecko/20100101 Firefox/132.0
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: en-US,en;q=0.5
Alt-Used: dev.local:8443
Cache-Control: no-cache
Pragma: no-cache
sec-fetch-dest: document
sec-fetch-mode: navigate
sec-fetch-site: none
sec-fetch-user: ?1
priority: u=0, i
X-Forwarded-For: 127.0.0.1
X-Forwarded-Host: dev.local
X-Forwarded-Proto: https
Transfer-Encoding: chunked

Metadata

Metadata

Assignees

No one assigned

    Labels

    External: AspNetCoreThis work will mostly be done in the dotnet/aspnetcore repoType: TrackingTracking work to be done in other repositories.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions