diff --git a/LCU.WebApps.Indirect.ReserveManagementSystem/WebApp/ReserveManagementSystemUI/Startup.cs b/LCU.WebApps.Indirect.ReserveManagementSystem/WebApp/ReserveManagementSystemUI/Startup.cs index b687b89..00889d9 100644 --- a/LCU.WebApps.Indirect.ReserveManagementSystem/WebApp/ReserveManagementSystemUI/Startup.cs +++ b/LCU.WebApps.Indirect.ReserveManagementSystem/WebApp/ReserveManagementSystemUI/Startup.cs @@ -1,5 +1,6 @@ using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.HttpOverrides; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; @@ -79,6 +80,19 @@ namespace ReserveManagementSystemUI // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { + var forwardedHeadersOptions = new ForwardedHeadersOptions + { + ForwardedHeaders = ForwardedHeaders.XForwardedFor | + ForwardedHeaders.XForwardedProto | + ForwardedHeaders.XForwardedHost + }; + + // Requests arrive through the ingress gateway, so trust forwarded headers + // rather than the container's internal HTTP connection details. + forwardedHeadersOptions.KnownNetworks.Clear(); + forwardedHeadersOptions.KnownProxies.Clear(); + app.UseForwardedHeaders(forwardedHeadersOptions); + if (env.IsDevelopment()) { app.UseDeveloperExceptionPage();