在发现ASP.NET核心模块充当SSL终结器并因此总是在http上托管之后,我的问题是如何将来自https地址的传播正确地传播到IdentityServer。如果您将标题X-Forwarded-Proto
或X-Forwarded-Schema
设置为值https,是否应该选择此项?从我的BaseUrlMiddleware.cs
代码中我可以看出,您将SetIdentityServerOrigin
设置为阅读Httpcontext.Request.Scheme
,后面的ASP.NET核心模块将始终为http。由于您的所有发现端点等都基于GetIdentityServerBaseUrl
中的此值,因此它们也将具有http架构。如果我错了或在IdentityServer 4中错过了设置,请纠正我。
答案 0 :(得分:1)
几乎 - IdentityServer依赖于为主机/协议等设置的任何内容 - 此时在管道中。
在负载均衡器后面,在IdentityServer根据您的部署重写这些值之前,通常会在管道中有一些中间件。