题
我们使用BigIP载之间的平衡我们的两个IIS服务器。我们最近部署了一个WCF服务的托管关于通过IIS6到这两个Windows服务器2003R2服务器。
每个服务器配置有两个主标题:一个负载均衡的地址,然后第二主机头指只要该服务器。这样,我们可以参照一个具体服务器的负载均衡的小组进行调试。
所以当我们执行我们立即得到了错误:
这个集合中已包含一个地址与方案http。可能有最多一个地址,每方案在此集合。参名称:项目
我做了一些研究,我们可以实现一个过滤器来告诉它忽略的一个主机,但我们无法访问服务器从该地址。
<serviceHostingEnvironment>
<baseAddressPrefixFilters>
<add prefix="http://domain.com:80"/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
什么是最好的解决办法在这种情况下,它将使我们能够打WCF服务通过 http://domain.com/service.svc 和 http://server1.domain.com/service.svc?
如果我们要创造我们自己的ServiceFactory为一些网站表明,没有任何人有任何代码样本上的这个?
任何帮助是非常赞赏。
编辑:我们将需要能够接入周转基金的服务无论从两个地址,如果在所有可能的。
谢谢你。
解决方案
你bigIP创建了2个新的虚拟服务器 http://server1.domain.com/ http://server2.domain.com/
创建一个游泳池每个VS仅与具体的服务的-所以不会有实际负载平衡和访问这种方式。如果你是在很短的外部IP是你仍然可以使用的同一知识产权作为生产域名和只使用一个irule直接交给适当的游泳池
希望这可以帮助
其他提示
它使用的URL基于IIS中的绑定。该网站是否有多个绑定?如果是,或者是多个站点使用的WCF服务?如果是,那么你就是SOL AFAIK。我们遇到了这个问题。基本上,HTTP只能有一个IIS绑定,否则就会爆炸。
另外,这里有关于实现ServiceHostFactory 。如果您的WCF服务可能只能通过1个地址访问(对我们来说不幸,这是不可能的),那将会有效。
当您需要测试特定的机器时,您可以“绕过”负载平衡并通过编辑“主机”来确保将正确的主机头发送给keeep WCF。您正在测试的计算机上的文件,例如:
10.0.0.11到10.0.0.16是群集中的六个主机“cluster.mycompany.local”,负载平衡IP地址为10.0.0.10。在测试时,您可以在机器主机文件中添加一行代表“10.0.0.13 cluster.mycompany.local”的文件。能够直接命中集群中的第三台机器。