Wenn die Website über SSL Anforderung und nicht https://example.comDeploy asp.net Kern mvc hinter NGINX die SSL-Termination tut - Leitet auf nicht sichere Login-Seite
ich http://example.com/Account/Login
weitergeleitet authentifiziert Ich habe NGINX läuft an Die Kante als Load Balancer, die das SSL beendet und die Anforderung als HTTP an IIS weiterleitet.
NGINX Config
server {
server_name example.com;
listen 443 ssl;
location/{
proxy_pass http://cluster1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header X-Forwarded-Proto $scheme;
}
}
wie man sehen kann ich die X-Forwarded-For und X-Forwarded-Proto Header
In meiner MVC-app Starteinstellung ich habe dies in Konfigurieren
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto,
ForwardLimit = null,
RequireHeaderSymmetry = false
});
Ich habe [RequireHttps] Attribut auf meinen Controllern.
Was fehlt mir?
landete ich das gleiche tun, aber es ist nicht ideal, weil Sie eine doppelte Umleitung in vielen Szenarien erhalten. – Tom