Identity Server 4 发现文档中的非 HTTPS URL

Non HTTPS URL in Identity Server 4 Discovery Document

我在 IIS 上托管了 IdentityServer4。端点 URL 使用 HTTP 而不是 HTTPS。

我已经尝试过 forwardheaders 方法。但似乎没有任何作用。我们有 SSL 卸载。是这个原因吗?有什么不同的解决方案吗?

app.UseForwardedHeaders(new ForwardedHeadersOptions
{
    ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});

在旧版本 (< 4.0) 中,可以设置 IdentityServerOptions.PublicOrigin 包括一个固定方案(因为有些人似乎很难让转发的 headers 工作)。我什至在一个较旧的项目中也使用过它。

对于较新的版本 (4.x+)

如果您确定它将是 https 并且您确定 public 域是什么,您可以关注 this issue on Github。至少有优惠:

app.Use(async (ctx, next) =>
{
    ctx.SetIdentityServerOrigin("https://yourdomain.com");
    //ctx.Request.Scheme = "https"; // direct approach
    await next();
});

根据问题中给出的信息,这应该也是如此。