在负载均衡器后面运行WCF,其中与IIS的LB连接是http,与LB的客户端连接是HTTPS

时间:2011-12-13 19:24:54

标签: wcf https web-config load-balancing

设置看起来像这样:

服务客户端--httpS - > loadbalancer --http - > IIS托管WCF

我收到此错误:

由于EndpointDispatcher上的AddressFilter不匹配,无法在接收方处理带有“https://MyDomain.com/Service.svc”的消息。检查发件人和收件人的EndpointAddresses是否一致。

我怀疑这与服务仅设置为运行http的事实有关。服务器上没有证书,因为这是在负载均衡器处理的。

我知道这一点:http://support.microsoft.com/kb/971842(FIX:WCF WSDL文档中的URI引用无法访问的内部实例)

我们正在运行.Net 4。

我可以提供更多信息,但不确定目前会有什么帮助。

由于

1 个答案:

答案 0 :(得分:1)

如果您使用用户名密码进行身份验证,那么WCF basichttpbinding将不允许这样做,为了解决这个问题,clearusernamebinding可以解决您的问题。

如果您没有任何身份验证,那么一般的basichttpbinding就足以满足上述情况。只需使用basichttpbinding配置您的WCF服务,并确保LB将请求作为http发送到Web服务器。