WCF SSL over load balancer。负载均衡器更改ssl端口

时间:2011-06-23 04:44:51

标签: c# wcf .net-3.5 iis-6

我的客户端应用程序正在尝试使用传输安全性调用wcf服务。 wcf服务位于硬件负载平衡器后面的2个节点上。

硬件负载平衡器在端口443上获取wcf调用,然后将端口更改为44556。 这给出了端点不匹配错误。那些照顾我们的生产和qa部门的人不希望wcf服务出于任何原因坐在443端口,因此他们为什么要设置端口更改。

然后我将负载均衡器更改为不将端口更改为44556,而是将其保留为端口443,并按预期调用服务。

我的问题是,我可以对我的服务\ IIS进行任何配置吗?当端口443从端口443进入时,该服务是否会接受端口44566上的wcf调用?

谢谢,

1 个答案:

答案 0 :(得分:3)

是的,您需要更改服务器和客户端绑定。查看clientVia元素。

在服务器上:listenUri属性添加到您的终端,并使用urn将地址名称更改为您的服务。 (客户名称相同)

<endpoint address="urn:MyService" listenUri="https://localhost:443/MyService" binding="customBinding" bindingConfiguration="NetHttpBinding" contract=Interface.ITradingPlatform"/>

在客户端:

例如,不是在端点的地址字段中指定URL,而是添加一个urn,然后添加behaviorConfiguration属性:

<endpoint name="ServerHTTP"
                      address="urn:MyService"
                      binding="customBinding"
                      bindingConfiguration="NetHttpBinding"
                      contract="Client.ITradingPlatform"
            behaviorConfiguration="BehaviorHTTP">

      </endpoint>

您还需要定义behaviorConfiguration:

<behaviors>
      <endpointBehaviors>
 <behavior name="BehaviorHTTP">
          <clientVia viaUri="https://yourdomain.com:443/MyService"/>
        </behavior>
</endpointBehaviors>
    </behaviors>