我在 IIS 上托管 IdentityServer4。端点 URL 使用 HTTP 而不是 HTTPS。
我已经尝试过转发方法。但似乎没有任何效果。我们有 SSL 卸载。是这个原因吗?有什么不同的解决方案吗?
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});
Run Code Online (Sandbox Code Playgroud)
在旧版本(< 4.0)中,可以设置IdentityServerOptions.PublicOrigin包括固定方案(因为有些人似乎无法使转发的标头正常工作)。甚至我在一个较旧的项目中也使用过它。
对于较新版本 (4.x+)
如果您确定它将是 https 并且您确定公共域是什么,您可以在 Github 上关注此问题。最低特权提供:
app.Use(async (ctx, next) =>
{
ctx.SetIdentityServerOrigin("https://yourdomain.com");
//ctx.Request.Scheme = "https"; // direct approach
await next();
});
Run Code Online (Sandbox Code Playgroud)
根据问题中给出的信息,这应该做同样的事情。
| 归档时间: |
|
| 查看次数: |
1673 次 |
| 最近记录: |