From fa3a0e7c7ab5bd8c5b9c0cfa25ded761ad503fde Mon Sep 17 00:00:00 2001 From: Chris R Date: Mon, 23 May 2016 14:59:44 -0700 Subject: [PATCH] #140 Disable header symmetry check on azure. --- .../WebHostBuilderIISExtensions.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Microsoft.AspNetCore.Server.IISIntegration/WebHostBuilderIISExtensions.cs b/src/Microsoft.AspNetCore.Server.IISIntegration/WebHostBuilderIISExtensions.cs index febfe61017..c8b2da50c0 100644 --- a/src/Microsoft.AspNetCore.Server.IISIntegration/WebHostBuilderIISExtensions.cs +++ b/src/Microsoft.AspNetCore.Server.IISIntegration/WebHostBuilderIISExtensions.cs @@ -45,6 +45,13 @@ namespace Microsoft.AspNetCore.Hosting services.Configure(options => { options.ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto; + + // https://github.com/aspnet/IISIntegration/issues/140 + // Azure Web Sites needs to be treated specially as we get an imbalanced set of X-Forwarded-* headers. + // We use the existence of the %WEBSITE_INSTANCE_ID% environment variable to determine if we're running + // in this environment, and if so we disable the symmetry check. + var isAzure = !string.IsNullOrEmpty(Environment.GetEnvironmentVariable("WEBSITE_INSTANCE_ID")); + options.RequireHeaderSymmetry = !isAzure; }); }); }