我正在尝试在Windows Server 2016 IIS服务器上部署现有的Web应用程序和wcf服务。当应用程序尝试使用具有“传输安全模式和EncryptAndSing”保护级别的net.pipe协议连接wcf服务时,它会因“服务器已拒绝客户端凭据”错误而中断。下面将提到详细错误。
使用主机名(net.pipe:// [主机名] / service / .. svc)公开服务
错误堆栈跟踪:
Exception information:
Exception type: SecurityNegotiationException
Exception message: The server has rejected the client credentials.
Server stack trace:
at System.ServiceModel.Channels.WindowsStreamSecurityUpgradeProvider.WindowsStreamSecurityUpgradeInitiator.OnInitiateUpgrade(Stream stream, SecurityMessageProperty& remoteSecurity)
at System.ServiceModel.Channels.StreamSecurityUpgradeInitiatorBase.InitiateUpgrade(Stream stream)
at System.ServiceModel.Channels.ConnectionUpgradeHelper.InitiateUpgrade(StreamUpgradeInitiator upgradeInitiator, IConnection& connection, ClientFramingDecoder decoder, IDefaultCommunicationTimeouts defaultTimeouts, TimeoutHelper& timeoutHelper)
at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.SendPreamble(IConnection connection, ArraySegment`1 preamble, TimeoutHelper& timeoutHelper)
at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.DuplexConnectionPoolHelper.AcceptPooledConnection(IConnection connection, TimeoutHelper& timeoutHelper)
1)不安全的呼叫正在工作(安全模式=“无”) 2)如果我们用主机IP替换主机名。可以。
由于我们拥有多个服务器的负载平衡环境。因此,我们想使用[hostname]公开服务。使用地址中的主机名公开的网络管道端点的安全调用有望正常工作。
这在Windows Server 2008上按预期工作。