Document .NET 8 breaking change: Forwarded Headers Middleware ignores X-Forwarded-* headers from unknown proxies #47985
+84
−7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR documents the breaking change introduced in ASP.NET Core 8.0.17 where the Forwarded Headers Middleware now ignores
X-Forwarded-*
headers from proxies that are not explicitly configured as trusted.Changes Made
Created new breaking change document:
docs/core/compatibility/aspnet-core/8.0/forwarded-headers-unknown-proxies.md
Updated main breaking changes index:
docs/core/compatibility/8.0.md
Key Details
The breaking change affects applications that rely on forwarded headers from proxies not configured in the trusted proxy list (
KnownProxies
andKnownNetworks
). Previously, headers likeX-Forwarded-Prefix
,X-Forwarded-Proto
, andX-Forwarded-Host
were processed from any source, but now only trusted proxies are honored for security reasons.This can cause issues like infinite redirects with HTTPS redirection middleware or authentication failures when using TLS termination, requiring developers to properly configure their proxy topology or use workarounds like the
ASPNETCORE_FORWARDEDHEADERS_ENABLED
environment variable.The documentation follows Microsoft's breaking change documentation guidelines and includes proper API cross-references, code examples, and links to related proxy configuration documentation.
Fixes #47446.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.
Internal previews