SSL経由でサイトを要求し、https://example.com展開asp.netコアMVC - ノンセキュアなログインページにリダイレクトし
を認証されない場合は、私は私がnginxのランニングいるhttp://example.com/Account/Login
にリダイレクトエッジをSSLを終了させるロードバランサとして使用し、IISへのHTTPとして要求をプロキシします。
nginxのコンフィグ
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;
}
}
あなたは私が私のMVCアプリの起動では
をX-転送さ-のために設定し、X-転送さ-プロトヘッダよ見ることができるように私が持っていますこれで設定します
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto,
ForwardLimit = null,
RequireHeaderSymmetry = false
});
私は[RequireHttps]属性を自分のコントローラに持っています。
私には何が欠けていますか?
あなたがシナリオの多くでは、二重リダイレクトを取得するので、私は理想的な同じことをやってしまったが、そのありません。 – Tom