Skip to content

Instantly share code, notes, and snippets.

@VictorioBerra
Created January 21, 2020 20:51
Show Gist options
  • Save VictorioBerra/281ab31e92c4b32b10584bbb10be749f to your computer and use it in GitHub Desktop.
Save VictorioBerra/281ab31e92c4b32b10584bbb10be749f to your computer and use it in GitHub Desktop.
ForwardedHeadersOptions from appsettings.json
{
"ForwardedForKnownNetworks": [
{
"Prefix": "1.2.3.4",
"PrefixLength": 123
},
{
"Prefix": "5.6.7.8",
"PrefixLength": 111
}
]
}
public class ForwardedForKnownNetworkOptions
{
public string Prefix { get; set; }
public int PrefixLength { get; set; }
}
// Register the Forwarded-For trusted networks.
var ForwardedForKnownNetworkOptions = Configuration.GetSection("ForwardedForKnownNetworks").Get<List<ForwardedForKnownNetworkOptions>>();
services.Configure<ForwardedHeadersOptions>(options => {
options.ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
foreach (var knownNetwork in ForwardedForKnownNetworkOptions)
{
options.KnownNetworks.Add(new IPNetwork(IPAddress.Parse(knownNetwork.Prefix), knownNetwork.PrefixLength));
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment