|
22 | 22 | using Microsoft.AspNetCore.Hosting; |
23 | 23 | using Microsoft.AspNetCore.Http; |
24 | 24 | using Microsoft.AspNetCore.Http.Features; |
| 25 | +using Microsoft.AspNetCore.HttpOverrides; |
25 | 26 | using Microsoft.AspNetCore.Mvc; |
26 | 27 | using Microsoft.AspNetCore.Mvc.ApplicationModels; |
27 | 28 | using Microsoft.AspNetCore.Mvc.ModelBinding; |
@@ -258,7 +259,10 @@ public void ConfigureServices(IServiceCollection services) |
258 | 259 | { |
259 | 260 | options.IdleTimeout = TimeSpan.FromMinutes(Preferences.SessionTimeout); |
260 | 261 | options.Cookie.HttpOnly = true; |
261 | | - options.Cookie.SecurePolicy = CookieSecurePolicy.SameAsRequest; |
| 262 | + if (Preferences.HttpProtocolSecure()) |
| 263 | + options.Cookie.SecurePolicy = CookieSecurePolicy.Always; |
| 264 | + else |
| 265 | + options.Cookie.SecurePolicy = CookieSecurePolicy.SameAsRequest; |
262 | 266 | options.Cookie.IsEssential = true; |
263 | 267 | string sessionCookieName = GxWebSession.GetSessionCookieName(VirtualPath); |
264 | 268 | if (!string.IsNullOrEmpty(sessionCookieName)) |
@@ -560,6 +564,10 @@ public void Configure(IApplicationBuilder app, Microsoft.AspNetCore.Hosting.IHos |
560 | 564 | provider.Mappings[mapping.Key] = mapping.Value; |
561 | 565 | } |
562 | 566 | } |
| 567 | + app.UseForwardedHeaders(new ForwardedHeadersOptions |
| 568 | + { |
| 569 | + ForwardedHeaders = ForwardedHeaders.XForwardedProto | ForwardedHeaders.XForwardedFor |
| 570 | + }); |
563 | 571 | if (GXUtil.CompressResponse()) |
564 | 572 | { |
565 | 573 | app.UseResponseCompression(); |
|
0 commit comments