通过Biztalk托管WCF服务时负载均衡器上的SSL解密

时间:2013-05-02 16:28:24

标签: .net wcf load-balancing biztalk

我遇到的情况是,我有一个WCF负载均衡器,它位于F5负载均衡器后面,负责进行SSL解密,并将未加密的消息转发到其后面的BizTalk托管WCF服务。

如果我使用基本http配置服务,并且客户端尝试调用该服务,则会返回:

提供的URI方案“https”无效;预计'http'。 参数名称:via

如果我将服务配置为使用wcf-custom并使用windows auth或None设置wsHttp的绑定,则客户端会收到以下异常:

在https:/// service.svc上没有可以接受该消息的端点。这通常是由错误的地址或SOAP操作引起的。有关更多详细信息,请参阅InnerException(如果存在)。

我认为对此的答案可能涉及使用自定义行为,但我想知道过去是否有人遇到过这种情况,如果是这样,你是如何处理它的?

1 个答案:

答案 0 :(得分:1)

最简单的解决方案是使用名为 ClearUsernameBinding 的内容,您可以在http频道上传递用户名密码。默认情况下,basicHttpBinding不允许用户名密码通过http通道传递,我们倾向于使用wsHttpBinding,在负载平衡环境下会失败。

或者,您必须将F5负载均衡器配置为不为任何与WCF服务相关的请求卸载SSL。例如:在不同的端口上托管WCF服务,然后告诉F5负载均衡器不要为进入该端口的任何流量卸载SSL。