IdentityServer3 无法从中获取文档
IdentityServer3 Unable to get document from
我正在为当前项目使用 IdentityServer3 版本 (2.5.4),在我的本地计算机(使用 IIS 和 IIS Express)上一切正常。
客户有一台安装了 .NET 4.5 的 Windows7 嵌入式机器(没有 SP1!),我们创建了一个自签名 SSL 证书(使用当前主机名,不是本地主机),但它不工作。我总是收到错误 "Unable to get document from: https://xyz/.well-known/openid-configuration"
配置有什么问题?
在我们遇到此问题的几个案例中,它主要与网络连接有关。
帮助我们找出根本原因的几件事 -
从服务器上的浏览器访问“https://xyz/.well-known/openid-configuration”路由。
如果您无法访问 url 那么这意味着服务器无法连接到 Idserver 安装。这是一个网络级别的问题。
如果您能够从托管依赖应用程序的服务器访问 url,但依赖应用程序抛出错误 -> 这意味着在服务器上配置了代理。浏览器自动使用代理,您必须在 startup.cs
中的依赖方应用程序中设置代理
var request = WebRequest.Create(uri);
var myProxy = new WebProxy {Address = new Uri("proxy uri")};
request.Proxy = myProxy;
var response = request.GetResponse();
这将确保源自代码的所有 http 请求也将使用相同的代理。
如果上述方法没有帮助,请检查安装 Idserver 的 IIS 是否允许 TLS 1.0 和 1.1。出于安全目的,这在某些服务器上被禁用。如果是这种情况,请使用以下代码使您的应用程序使用 tls 1.2,调用将成功
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
我找到了解决方案,它与配置无关。 Windows 7 SP1 的安装已修复它。
我正在为当前项目使用 IdentityServer3 版本 (2.5.4),在我的本地计算机(使用 IIS 和 IIS Express)上一切正常。
客户有一台安装了 .NET 4.5 的 Windows7 嵌入式机器(没有 SP1!),我们创建了一个自签名 SSL 证书(使用当前主机名,不是本地主机),但它不工作。我总是收到错误 "Unable to get document from: https://xyz/.well-known/openid-configuration"
配置有什么问题?
在我们遇到此问题的几个案例中,它主要与网络连接有关。
帮助我们找出根本原因的几件事 -
从服务器上的浏览器访问“https://xyz/.well-known/openid-configuration”路由。
如果您无法访问 url 那么这意味着服务器无法连接到 Idserver 安装。这是一个网络级别的问题。
如果您能够从托管依赖应用程序的服务器访问 url,但依赖应用程序抛出错误 -> 这意味着在服务器上配置了代理。浏览器自动使用代理,您必须在 startup.cs
中的依赖方应用程序中设置代理 var request = WebRequest.Create(uri);
var myProxy = new WebProxy {Address = new Uri("proxy uri")};
request.Proxy = myProxy;
var response = request.GetResponse();
这将确保源自代码的所有 http 请求也将使用相同的代理。
如果上述方法没有帮助,请检查安装 Idserver 的 IIS 是否允许 TLS 1.0 和 1.1。出于安全目的,这在某些服务器上被禁用。如果是这种情况,请使用以下代码使您的应用程序使用 tls 1.2,调用将成功
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
我找到了解决方案,它与配置无关。 Windows 7 SP1 的安装已修复它。