Created
January 21, 2020 20:51
-
-
Save VictorioBerra/281ab31e92c4b32b10584bbb10be749f to your computer and use it in GitHub Desktop.
ForwardedHeadersOptions from appsettings.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"ForwardedForKnownNetworks": [ | |
{ | |
"Prefix": "1.2.3.4", | |
"PrefixLength": 123 | |
}, | |
{ | |
"Prefix": "5.6.7.8", | |
"PrefixLength": 111 | |
} | |
] | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class ForwardedForKnownNetworkOptions | |
{ | |
public string Prefix { get; set; } | |
public int PrefixLength { get; set; } | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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