From 71011a30140248dffcc6a757d435670365f523d2 Mon Sep 17 00:00:00 2001 From: Miha Zupan Date: Mon, 13 Jul 2026 15:51:12 +0200 Subject: [PATCH 1/3] Add a note about dashes and underscores in header names (#37337) --- aspnetcore/fundamentals/servers/yarp/header-guidelines.md | 5 ++++- aspnetcore/fundamentals/servers/yarp/header-routing.md | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/aspnetcore/fundamentals/servers/yarp/header-guidelines.md b/aspnetcore/fundamentals/servers/yarp/header-guidelines.md index b473cf61b206..1d3fc941210f 100644 --- a/aspnetcore/fundamentals/servers/yarp/header-guidelines.md +++ b/aspnetcore/fundamentals/servers/yarp/header-guidelines.md @@ -4,7 +4,7 @@ title: YARP HTTP header guidelines description: Learn about YARP HTTP header guidelines. author: wadepickett ms.author: wpickett -ms.date: 04/03/2025 +ms.date: 07/13/2026 ms.topic: concept-article content_well_notification: AI-contribution ai-usage: ai-assisted @@ -13,6 +13,9 @@ ai-usage: ai-assisted Headers are a very important part of processing HTTP requests and each have their own semantics and considerations. Most headers are proxied by default, though some used to control how the request is delivered are automatically adjusted or removed by the proxy. The connections between the client and the proxy and between the proxy and the destination are independent. Therefore, headers that affect the connection and transport must be filtered. Many headers contain information like domain names, paths, or other details that may be affected when a reverse proxy is included in the application architecture. The following is a collection of guidelines about how specific headers might be impacted and what to do about them. +> [!NOTE] +> YARP doesn't normalize dashes (`-`) and underscores (`_`) in header names. They're treated as different characters, so a name such as `my-header` doesn't match a request header named `my_header`. + ## YARP header filtering YARP automatically removes request and response headers that could impact its ability to forward a request correctly, or that may be used maliciously to bypass features of the proxy. A complete list can be found [here](https://github.com/microsoft/reverse-proxy/blob/main/src/ReverseProxy/Forwarder/RequestUtilities.cs#L71), with some highlights described below. diff --git a/aspnetcore/fundamentals/servers/yarp/header-routing.md b/aspnetcore/fundamentals/servers/yarp/header-routing.md index b93610596f60..091a9e8e9fa3 100644 --- a/aspnetcore/fundamentals/servers/yarp/header-routing.md +++ b/aspnetcore/fundamentals/servers/yarp/header-routing.md @@ -4,7 +4,7 @@ title: YARP Header Based Routing description: YARP Header Based Routing author: wadepickett ms.author: wpickett -ms.date: 2/6/2025 +ms.date: 07/13/2026 ms.topic: concept-article content_well_notification: AI-contribution ai-usage: ai-assisted @@ -283,6 +283,9 @@ var routes = new[] The header name to check for on the request. A non-empty value is required. This field is case-insensitive per the HTTP RFCs. +> [!NOTE] +> YARP doesn't normalize dashes (`-`) and underscores (`_`) in header names. They're treated as different characters, so a name such as `my-header` doesn't match a request header named `my_header`. + ### Values A list of possible values to search for. The header must match at least one of these values according to the specified `Mode` except for the 'NotContains'. At least one value is required unless `Mode` is set to `Exists` or `NotExists`. From effa4c9a4e01074b268cf1c64b9f2170e612bc9b Mon Sep 17 00:00:00 2001 From: Theano Petersen Date: Mon, 13 Jul 2026 12:45:15 -0700 Subject: [PATCH 2/3] BULK fix broken link (#37335) --- .../release-notes/aspnetcore-9/includes/produces-problem.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aspnetcore/release-notes/aspnetcore-9/includes/produces-problem.md b/aspnetcore/release-notes/aspnetcore-9/includes/produces-problem.md index 7ee71975ef76..3a5a208ad1b8 100644 --- a/aspnetcore/release-notes/aspnetcore-9/includes/produces-problem.md +++ b/aspnetcore/release-notes/aspnetcore-9/includes/produces-problem.md @@ -22,4 +22,4 @@ Prior to .NET 9, constructing [Problem](/dotnet/api/microsoft.aspnetcore.http.ty :::code language="csharp" source="~/fundamentals/openapi/samples/9.x/ProducesProblem/Program.cs" id="snippet_2" ::: -Thanks to GitHub user [joegoldman2](https://github.com/joegoldman2) for this contribution! +Thanks to Joseph Goldman for this contribution! From 28a5ba7849a7872514bafeafe2443d76b6d374f4 Mon Sep 17 00:00:00 2001 From: "Andy (Steve) De George" <67293991+adegeo@users.noreply.github.com> Date: Mon, 13 Jul 2026 14:51:52 -0700 Subject: [PATCH 3/3] Fix the learn issue template (#37341) --- .github/ISSUE_TEMPLATE/customer-feedback.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/customer-feedback.yml b/.github/ISSUE_TEMPLATE/customer-feedback.yml index 2f7906784fce..774a9248f12f 100644 --- a/.github/ISSUE_TEMPLATE/customer-feedback.yml +++ b/.github/ISSUE_TEMPLATE/customer-feedback.yml @@ -9,11 +9,12 @@ body: attributes: value: Describe the issue in the following text box. Add as much detail as needed to help us resolve the issue. - type: textarea - id: feedback + id: userfeedback validations: required: true attributes: label: Description + placeholder: Describe your problem or suggestion - type: markdown attributes: value: "## 🚧 Article information 🚧"