2017-04-12 58 views
0
获取文档

我对当前项目使用IdentityServer3版本(2.5.4),在本地计算机(使用IIS和IIS Express)上一切正常。IdentityServer3无法从

客户安装了.NET 4.5的Windows7嵌入式机器(无SP1!),我们创建了一个自签名的SSL证书(使用当前主机名,不是localhost),但它不起作用。我总是收到错误“无法获取文档:https://xyz/.well-known/openid-configuration

配置有什么问题?

回答

1

我找到了解决方案,它无关的配置。 Windows 7 SP1的安装修复了它。

0

在我们遇到这个问题的几个案例中,主要涉及到网络连接。

很少有事情,帮助我们找出根源 -

访问从服务器上的浏览器“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请求也将使用相同的代理。

如果上述不起作用,请检查IIS服务器的安装位置是否允许TLS 1.0和1.1。出于安全考虑,在某些服务器上禁用此功能。如果是这样的情况下,使用下面的代码,使乌拉圭回合的应用程序使用TLS 1.2,调用将成功

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; 
+0

我收到错误,当我尝试直接在服务器上打开链接。我不认为这是一个网络问题。我们在Startup.cs(配置方法内部)'System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;'中添加了以下代码,但它仍然不起作用。它与Windows 7 Embedded Standard(无SP1)有关吗? – pbachman

+0

这可能与idServer设置有关。请检查idserver安装web文件夹中的trace.log文件。日志文件会导致您遇到实际问题。 – jkr

+0

你是指什么设置或安装文件夹?在服务器上只是我们idServer项目的部署版本(包括IdentityServer3 DLL)。是否有任何先决条件,应该安装在服务器上?我可以打开IdentityServer3的起始页面(通过https://主机名称),但是我无法打开https://hostname-of-the-server/.well-known/openid-configuration上的链接服务器上的浏览器。 – pbachman