Endpoints Configuration Schema Case Sensitivity
See original GitHub issueThe documentation says that endpoint names are case-insensitive, however if you were to use “https” in one file and then “Https” in another file (or “HTTPS” in an environment variable), they would be seen as two endpoints by Kestrel’s ConfigurationReader
calling IConfiguration.GetChildren()
. If you were to have different case for your endpoint names using different configuration sources (files, variables, command line, etc) without changing the endpoint URL, you would be presented with a “Failed to bind to address” exception.
I think the documentation should state that endpoint names are case-sensitive and loaded as different endpoints. However this seems to be different from other application configuration use, such as logging, which is case-insensitive.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
- ID: f22dcddb-0c25-be1a-9a02-9e71dce86bdb
- Version Independent ID: 3e0e12c2-e544-5655-e001-d2ec180b11a8
- Content: Kestrel web server implementation in ASP.NET Core
- Content Source: aspnetcore/fundamentals/servers/kestrel.md
- Product: aspnet-core
- Technology: aspnetcore-fundamentals
- GitHub Login: @guardrex
- Microsoft Alias: tdykstra
Issue Analytics
- State:
- Created 4 years ago
- Comments:6 (5 by maintainers)
Thanks @dotbirdman … I’ll add the PU label to this for engineering to take a look on the next engineering doc issue review.
@dotbirdman Ok, good to know. Based on that I’m going to close this issue. 2.2 is out-of-support so we wouldn’t backport a patch. Let us know either in this issue or via a new issue if this problem reoccurs.