2017-03-03 50 views
4

我現在有一個使用ID連接使用谷歌賬號的認證一個asp.net核心應用。當此應用程序部署和位於負載平衡器後面,它重定向到登錄頁面失敗,因爲它設置URI爲http來代替https,還設置了OpenID的服務器重定向URI沒有HTTPS,有一種設置選項的方法,以便它知道它應該使用https?設置OpenID和AspCore背後負載平衡器

+2

拍攝X轉發的報頭,並將其應用到身份驗證的請求之前。有一個UseForwardedHeaders中間件這一點。 – Tratcher

回答

3

按照註釋通過@Tratcher這讓通過建立中間件來檢查的X轉發頭如下解決:

app.Use(async (context, next) => 
{ 
    if (context.Request.Headers.ContainsKey("X-Forwarded-Proto") || 
     context.Request.Headers.ContainsKey("X-Forwarded-For")) 
    { 
     context.Request.Scheme = "https"; 
    } 
    await next.Invoke(); 
});