diff --git a/backend/src/Squidex/Config/Web/WebExtensions.cs b/backend/src/Squidex/Config/Web/WebExtensions.cs index abfc13347..f127cf535 100644 --- a/backend/src/Squidex/Config/Web/WebExtensions.cs +++ b/backend/src/Squidex/Config/Web/WebExtensions.cs @@ -108,34 +108,36 @@ namespace Squidex.Config.Web } public static void UseSquidexForwardingRules(this IApplicationBuilder app, IConfiguration config) + { + app.UseForwardedHeaders(GetForwardingOptions(config)); + + app.UseMiddleware(); + app.UseMiddleware(); + } + + private static ForwardedHeadersOptions GetForwardingOptions(IConfiguration config) { var urlsOptions = config.GetSection("urls").Get(); - var forwardedHeadersOptions = new ForwardedHeadersOptions(); if (!string.IsNullOrWhiteSpace(urlsOptions.BaseUrl) && urlsOptions.EnableXForwardedHost) { - forwardedHeadersOptions = new ForwardedHeadersOptions() + return new ForwardedHeadersOptions() { + AllowedHosts = new List { new Uri(urlsOptions.BaseUrl).Host }, ForwardedHeaders = ForwardedHeaders.XForwardedProto | ForwardedHeaders.XForwardedHost, - AllowedHosts = new List() { new Uri(urlsOptions.BaseUrl).Host }, ForwardLimit = null, RequireHeaderSymmetry = false }; } else { - forwardedHeadersOptions = new ForwardedHeadersOptions() + return new ForwardedHeadersOptions() { ForwardedHeaders = ForwardedHeaders.XForwardedProto, ForwardLimit = null, RequireHeaderSymmetry = false }; } - - app.UseForwardedHeaders(forwardedHeadersOptions); - - app.UseMiddleware(); - app.UseMiddleware(); } } }