根据HTTPS方案,IdentityServer4 IDX20108无效

根据HTTPS方案,IdentityServer4 IDX20108无效,identityserver4,openid-connect,asp.net-core-2.2,x509certificate2,Identityserver4,Openid Connect,Asp.net Core 2.2,X509certificate2,我是IdentityServer4(2.5)和证书设置的新手,请耐心等待。我想我已经尽了全力。我正在一个概念验证应用程序中与ASP.NETCore2.2.0一起使用它。我有OpenIdConnect和一个权威应用程序,以及一个使用cookies和X509Certificate2的客户端。在我的本地机器上工作得很好;但是,当我部署到IIS时,会出现以下错误: System.InvalidOperationException: IDX20803: Unable to obtain configura

我是IdentityServer4(2.5)和证书设置的新手,请耐心等待。我想我已经尽了全力。我正在一个概念验证应用程序中与ASP.NETCore2.2.0一起使用它。我有OpenIdConnect和一个权威应用程序,以及一个使用cookies和X509Certificate2的客户端。在我的本地机器上工作得很好;但是,当我部署到IIS时,会出现以下错误:

System.InvalidOperationException: IDX20803: Unable to obtain configuration from: 'https://my.com/mpauth/.well-known/openid-configuration'. ---> System.ArgumentException: IDX20108: The address specified 'http://my.com/mpauth/.well-known/openid-configuration/jwks' is not valid as per HTTPS scheme. Please specify an https address for security reasons. If you want to test with http address, set the RequireHttps property  on IDocumentRetriever to false.
问题就在这里-。如果我把它放在浏览器里,我会得到一个错误;但是,如果我将http更改为https,我将获得数据。什么设置可以控制这一点?

TL;DR

在大多数情况下,IdentityServer将基本主机名/URI与传入请求延迟,但可能存在需要通过
issueURI
和/或
PublicOrigin
选项强制执行的部署场景

更多信息

在异常中获取的URL是发现查找的一部分。验证令牌是必要的(例如,在应用程序身份验证中间件中)。 第一个请求应该是
../.众所周知的/openid配置
(主发现文档),它引用了其他几个URI,其中一个应该是jwks(签名密钥集)。在大多数情况下,
openid配置中的其他uri将指向您的身份服务器正在使用的相同主主机名和协议方案。在您的情况下,该方案似乎更改为HTTP,这在当今时代可能是不需要的

部署的IdentityServer是否可能位于负载平衡器/SSL终端设备后面?这可能会导致行为

我不确定IIS的详细信息,但也可能存在某种默认主机名/URI;DR

在大多数情况下,IdentityServer将基本主机名/URI与传入请求延迟,但可能存在需要通过
issueURI
和/或
PublicOrigin
选项强制执行的部署场景

更多信息

在异常中获取的URL是发现查找的一部分。验证令牌是必要的(例如,在应用程序身份验证中间件中)。 第一个请求应该是
../.众所周知的/openid配置
(主发现文档),它引用了其他几个URI,其中一个应该是jwks(签名密钥集)。在大多数情况下,
openid配置中的其他uri将指向您的身份服务器正在使用的相同主主机名和协议方案。在您的情况下,该方案似乎更改为HTTP,这在当今时代可能是不需要的

部署的IdentityServer是否可能位于负载平衡器/SSL终端设备后面?这可能会导致行为


我不确定IIS的详细信息,但可能还存在某种默认主机名/URI的问题。

是的,我们正在开发负载平衡器。我第一次用这个。我肯定不在堪萨斯了。边走边学。谢谢你的意见。是的,我们支持负载平衡器。我第一次用这个。我肯定不在堪萨斯了。边走边学。谢谢你的意见。