带有ARR的IdentityServer 4(应用程序请求路由)

时间:2017-04-13 23:05:40

标签: iis identityserver4

我试图让IdentityServer 4在双节点ARR设置中运行。我配置了其他双节点Web应用程序,但IdentityServer不想玩得很好。服务器仅设置为HTTPS。当我在一个站点中使用它时一切都很好,所有请求都是https:// ...但是在ARR设置中,请求开始如下:

https://identityserver.local/.well-known/openid-configuration HTTP:/identityserver.local/connect/authorize CLIENT_ID = ....

第二个请求产生404.当我将其作为常规单个站点时,第二个请求是:

的https:/identityserver.local/connect/authorize CLIENT_ID = ....

为什么在使用ARR运行时它是http而不是https?

1 个答案:

答案 0 :(得分:2)

这一步两步的解决方案: 首先,我修复了Forwarded标头:

services.Configure<ForwardedHeadersOptions>(options =>
{
    options.ForwardedHeaders = ForwardedHeaders.XForwardedProto;
});

接下来,配置数据保护,以便加密密钥由应用程序的不同实例共享。

services.AddDataProtection()
        .SetApplicationName("MyAspNetCoreSample")
        .PersistKeysToFileSystem(new DirectoryInfo(@"path\to\shared\folder"));

希望这有助于某人。