AWS环境中的WCF UserNameTransport错误-收到一个不安全或安全性不正确的错误



我有一个WCF应用程序,它应该通过SSL工作。在我的本地计算机中使用自签名证书配置了SSL,它运行良好。

当我将应用程序移动到AWS EC2实例时,出现以下错误。

例外:

收到来自另一方的不安全或不正确的故障。有关代码和详细信息,请参阅内部FaultException。

检查tracelog.svclog:后出现异常

安全处理器无法在消息中找到安全标头。这可能是因为消息是一个不安全的错误,或者是因为通信方之间存在绑定不匹配。如果为安全性配置了服务,而客户端没有使用安全性,则可能会发生这种情况。

用于此应用程序的绑定,

<customBinding>
<binding name="httpBasic" receiveTimeout="00:10:00" sendTimeout="00:10:00">
<security authenticationMode="UserNameOverTransport" >
</security>
<textMessageEncoding  messageVersion="Soap11"/>  
<httpsTransport maxReceivedMessageSize="2147483647" 
keepAliveEnabled="false" transferMode="Streamed"/>
</binding>
</customBinding>

AWS环境:

EC2实例是windows 10机器,它位于经典负载均衡器之后,并且负载均衡器是使用Route 53配置的SSL。

EC2实例不是图形用户界面。它只能访问DOS命令提示符。

通过更新配置文件(%WinDir%System32InetsrvConfigapplicationHost.config)在EC2实例IIS中配置SSL,如下所示:

<site
<bindings>
<binding protocol="https" bindingInformation="*:443:" />
</bindings>
</site>

到目前为止,尝试了以下更改,绑定两端都相同。

includeTimestamp - false
enableUnsecuredResponse- true
maxClockSkew-10:00:00

在绑定安全性中更改了这些内容之后,我没有看到"不安全或不正确安全的错误"。但是,username在服务端没有接收到。

我已经通过记录用户名验证了这一点。

由于证书已在负载平衡器中配置,因此未在EC2实例IIS中配置证书。我们需要IIS证书来处理传入的请求消息吗?

请提供您的建议,以便在服务端正确接收安全凭据(用户名和密码)。

谢谢

将证书安装到EC2实例IIS后,应用程序能够提取凭据。

相关内容

最新更新