我有一個 .NET Core 2.0 應用程序在帶有 Linux 容器的 Kubernetes 集群中運行。在應用程序前面,我有一個 Nginx 反向代理,它設置了 LetsEncrypt、SSL 終止并將 http 轉發(fā)到應用程序。我的應用程序在本地成功進行身份驗證和重定向(無反向代理),并基于此處的示例表單:https : //github.com/Azure-Samples/active-directory-dotnet-webapp-openidconnect-aspnetcore部署后,此設置最初會導致應用程序嘗試通過從https://my.domain.cloudapp.azure.com切換到http://my.domain.cloudapp.azure.com來對用戶進行身份驗證出現(xiàn)問題。結果我的回復 URL ( https://my.domain.cloudapp.azure.com/signin-oidc ) 沒有被使用,我收到了一個錯誤。我能夠通過這里和這里的信息來解決這個問題,特別是我添加了:app.UseForwardedHeaders(new ForwardedHeadersOptions{ ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto});app.Use(async (context, next) =>{ if (context.Request.Host.Host.ToLower() != "localhost") context.Request.Scheme = "https"; await next.Invoke();});現(xiàn)在,當我訪問https://my.domain.cloudapp.azure.com時,我會正確重定向到https://login.microsoftonline.com/。身份驗證后,我被重定向回我的應用程序https://my.domain.cloudapp.azure.com但 OpenID Connect 身份驗證中間件似乎沒有處理 /signin-oidc 路由。我反而收到 404 錯誤。有誰知道我做錯了什么?
- 1 回答
- 0 關注
- 354 瀏覽
添加回答
舉報
0/150
提交
取消
