2011-06-23 189 views
4

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

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

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

我的问题是,是否有任何配置,我可以对我的服务\ IIS,使服务接受来自端口443端口44566的wcf调用?

谢谢,

+0

你解决了吗? – wal

回答

3

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

在服务器上:listenUri属性添加到您的端点,并与瓮更改地址的名称为您服务。 (为客户端相同的名称)

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

在客户端:

例如,而不是在端点的地址字段中指定的URL,添加一个瓮,然后添加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>