ADFS 3.0 无法使用默认配置绑定服务端点

Posted

技术标签:

【中文标题】ADFS 3.0 无法使用默认配置绑定服务端点【英文标题】:ADFS 3.0 cannot bind the services endpoint with default configuration 【发布时间】:2018-06-27 19:39:40 【问题描述】:

我在已安装 IIS 的服务器上安装了具有默认配置的 AD FS 3.0。每次启动服务时,都会抱怨无法绑定IP端点0.0.0.0:808。 以下是事件日志的摘录:

来源:AD FS 事件 ID:102 说明: 启用联合服务的端点时出错。使用 PowerShell cmdlet 修复配置错误并重新启动联合服务。

附加数据

异常详情:

System.ServiceModel.AddressAlreadyInUseException:IP 端点 0.0.0.0:808 上已经有一个侦听器。如果有另一个应用程序已经在侦听此端点,或者您的服务主机中有多个服务端点具有相同的 IP 端点但绑定配置不兼容,则可能会发生这种情况。 ---> System.Net.Sockets.SocketException: 每个套接字地址(协议/网络地址/端口)通常只允许使用一次

在 System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) 在 System.Net.Sockets.Socket.Bind(EndPoint localEP) 在 System.ServiceModel.Channels.SocketConnectionListener.Listen() --- 内部异常堆栈跟踪结束 --- 在 System.ServiceModel.Channels.SocketConnectionListener.Listen() 在 System.ServiceModel.Channels.ConnectionAcceptor.StartAccepting() 在 System.ServiceModel.Channels.ExclusiveTcpTransportManager.OnOpen() 在 System.ServiceModel.Channels.TransportManager.Open(TransportChannelListener channelListener) 在 System.ServiceModel.Channels.TransportManagerContainer.Open(SelectTransportManagersCallback selectTransportManagerCallback) 在 System.ServiceModel.Channels.TcpChannelListener`2.OnOpen(TimeSpan 超时) 在 System.ServiceModel.Channels.CommunicationObject.Open(时间跨度超时) 在 System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(时间跨度超时) 在 System.ServiceModel.Channels.CommunicationObject.Open(时间跨度超时) 在 System.ServiceModel.ServiceHostBase.OnOpen(时间跨度超时) 在 System.ServiceModel.Channels.CommunicationObject.Open(时间跨度超时) 在 Microsoft.IdentityServer.ServiceHost.STSService.StartSTSService(ServiceHostManager serviceHostManager, ServiceState serviceState)

【问题讨论】:

【参考方案1】:

AD FS 3.0 在尝试绑定默认服务端口 1501 时存在严重错误。它实际上忽略了该设置,并尝试通过从 URI 中剥离端口(如果已配置)来绑定默认的 net.tcp 端口 808到 1501。更糟糕的是,此绑定是硬编码的,因此无法为此配置端口共享。 我使用 technet article 将端口更改为 1502,一切似乎都像魅力一样工作。

将服务 net.tcp 端口从 1501 更改为 1601

    启动 PowerShell 添加 AD FS 2.0 PowerShell 管理单元: 添加-pssnapin microsoft.adfs.powershell 通过 Set-ADFSProperties cmdlet 配置服务 net.tcp 端口: 设置-ADFSProperties -nettcpport 1601 确认更改: 获取 ADFSProperties 在服务控制台中重新启动 AD FS 2.0 服务

【讨论】:

以上是关于ADFS 3.0 无法使用默认配置绑定服务端点的主要内容,如果未能解决你的问题,请参考以下文章

WAP 非443端口的ADFS如何配置Web应用程序代理

Docker 映像:无法配置 HTTPS 端点。未指定服务器证书,找不到默认的开发者证书

WCF 上的一项服务、多个端点、多个绑定。为啥我无法到达我的端点?

无法配置 HTTPS 端点。未指定服务器证书,找不到默认的开发者证书

配置 ADFS 3.0 / SAML 2.0 以使用 Spring Security 进行 SSO 集成

WAP 非443端口的ADFS如何配置Web应用程序代理