Add KnownProxies configuration (#1332)

This commit is contained in:
tjarls 2022-06-26 23:49:49 +01:00 committed by GitHub
parent a885753066
commit 39f81c230f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -53,8 +53,10 @@ namespace API
services.AddControllers(); services.AddControllers();
services.Configure<ForwardedHeadersOptions>(options => services.Configure<ForwardedHeadersOptions>(options =>
{ {
options.ForwardedHeaders = options.ForwardedHeaders = ForwardedHeaders.All;
ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto; foreach(var proxy in _config.GetSection("KnownProxies").AsEnumerable().Where(c => c.Value != null)) {
options.KnownProxies.Add(IPAddress.Parse(proxy.Value));
}
}); });
services.AddCors(); services.AddCors();
services.AddIdentityServices(_config); services.AddIdentityServices(_config);
@ -125,13 +127,6 @@ namespace API
services.AddResponseCaching(); services.AddResponseCaching();
services.Configure<ForwardedHeadersOptions>(options =>
{
options.ForwardedHeaders =
ForwardedHeaders.All;
});
services.AddHangfire(configuration => configuration services.AddHangfire(configuration => configuration
.UseSimpleAssemblyNameTypeSerializer() .UseSimpleAssemblyNameTypeSerializer()
.UseRecommendedSerializerSettings() .UseRecommendedSerializerSettings()
@ -210,10 +205,7 @@ namespace API
app.UseResponseCompression(); app.UseResponseCompression();
app.UseForwardedHeaders(new ForwardedHeadersOptions app.UseForwardedHeaders();
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto | ForwardedHeaders.XForwardedHost
});
app.UseRouting(); app.UseRouting();
@ -295,6 +287,5 @@ namespace API
throw new KavitaException("No network adapters with an IPv4 address in the system!"); throw new KavitaException("No network adapters with an IPv4 address in the system!");
} }
} }
} }