From 25bc15ab02b89d913772409a752cdfe40f70e4c3 Mon Sep 17 00:00:00 2001 From: crupest Date: Tue, 2 Jun 2020 19:07:27 +0800 Subject: fix: not recognize forwarded https protocal. --- Timeline/Startup.cs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'Timeline') diff --git a/Timeline/Startup.cs b/Timeline/Startup.cs index 09281551..5dbc99e6 100644 --- a/Timeline/Startup.cs +++ b/Timeline/Startup.cs @@ -97,10 +97,20 @@ namespace Timeline // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app) { - app.UseForwardedHeaders(new ForwardedHeadersOptions + if (string.Equals(System.Environment.GetEnvironmentVariable("ASPNETCORE_FORWARDEDHEADERS_ENABLED"), "true", StringComparison.OrdinalIgnoreCase)) { - ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto - }); + var options = new ForwardedHeadersOptions + { + ForwardedHeaders = ForwardedHeaders.XForwardedFor | + ForwardedHeaders.XForwardedProto + }; + // Only loopback proxies are allowed by default. + // Clear that restriction because forwarders are enabled by explicit + // configuration. + options.KnownNetworks.Clear(); + options.KnownProxies.Clear(); + app.UseForwardedHeaders(options); + } app.UseRouting(); -- cgit v1.2.3