【问题标题】:SSL Decryption on a load balancer while hosting WCF service through Biztalk通过 Biztalk 托管 WCF 服务时负载平衡器上的 SSL 解密
【发布时间】:2013-04-26 22:14:23
【问题描述】:

我有一个 WCF 负载平衡器位于 F5 负载平衡器后面的情况,该负载平衡器执行 SSL 解密并将未加密的消息转发到其背后的 BizTalk 托管 WCF 服务。

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

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

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

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

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

【问题讨论】:

  • 您不应该在处理 SSL 解密的负载均衡器上使用某种 URL 重写器吗?解密后,您的流量将是正常的 HTTP 流量。 URL 必须反映这一点。

标签: .net wcf load-balancing biztalk


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2011-09-20
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 2010-09-12
    • 2023-03-25
    • 1970-01-01
    相关资源
    最近更新 更多