首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从ADFS 2.1升级到4.0后出现ADFS错误

从ADFS 2.1升级到4.0后出现ADFS错误
EN

Server Fault用户
提问于 2016-10-25 13:21:17
回答 2查看 8K关注 0票数 3

我不知道有没有人见过这个问题或者有什么想法?

我们最近将ADFS从W2008r2上的ADFS2.1迁移到了W2016上的ADFS4.0。

基本功能似乎很好,但我发现在使用所有依赖方信任更新联邦元数据方面存在问题;试图右键单击并选择“从联邦元数据中更新.”(或转到属性、监视、测试URL)会产生以下错误:

"An error occurred during an attempt to read the federation metadata. Verify that the specified URL or host name is a valid metadata endpoint".

关联的错误消息是

Method not found: 'Microsoft.identitymodel.protocols.WSFederation.Metadata.MetadataBase Microsoft.Identity.Model.Protocols.WSFederation.Metadata.MetadataSerializer.ReadMetadata(System.IO.Stream)'.

不需要代理服务器,也不定义代理服务器。我可以浏览ADFS服务器上IE中的联邦元数据URL,并获得预期的XML页面。我已经检查证书是否定义正确,ADFS服务帐户是否具有对它们的读取访问权限,等等。

事件日志中没有错误消息,无论是在服务启动时还是在尝试测试/更新元数据时。尝试添加新的依赖方信任会导致同样的错误。

我已经运行了ADFS诊断,并且测试-adfsserverhealth给出了一个错误,我认为这是关键,但我不知道下一步该去哪里。

代码语言:javascript
复制
Name             : PingFederationMetadata
Result           : Fail
Detail           : System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a
                   send. ---> System.IO.IOException: Unable to read data from the transport connection: An existing
                   connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An
                   existing connection was forcibly closed by the remote host
                      at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags
                   socketFlags)
                      at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
                      --- End of inner exception stack trace ---
                      at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
                      at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count)
                      at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest
                   asyncRequest)
                      at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer,
                   AsyncProtocolRequest asyncRequest)
                      at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
                      at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext,
                   ContextCallback callback, Object state, Boolean preserveSyncCtx)
                      at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback
                   callback, Object state, Boolean preserveSyncCtx)
                      at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback
                   callback, Object state)
                      at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
                      at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)
                      at System.Net.ConnectStream.WriteHeaders(Boolean async)
                      --- End of inner exception stack trace ---
                      at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
                      at System.Net.WebClient.DownloadData(Uri address)
                      at CallSite.Target(Closure , CallSite , Object , Object )
Output           : {PingFedmetadataException}
ExceptionMessage : 
EN

回答 2

Server Fault用户

回答已采纳

发布于 2016-10-25 16:29:37

Server Fault用户

发布于 2020-08-07 13:47:56

我也有这个问题,直到我发现两个系统之间的TLS设置是冲突的。承载元数据的服务器被设置为仅使用TLS 1.2,而运行在Windows server 2016上的ADFS服务器被设置为默认的TLS设置。当我将ADFS服务器更改为仅使用TLS 1.2时,问题得到了解决。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/811167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档