我们使用BigIP载之间的平衡我们的两个IIS服务器。我们最近部署了一个WCF服务的托管关于通过IIS6到这两个Windows服务器2003R2服务器。

每个服务器配置有两个主标题:一个负载均衡的地址,然后第二主机头指只要该服务器。这样,我们可以参照一个具体服务器的负载均衡的小组进行调试。

所以当我们执行我们立即得到了错误:

这个集合中已包含一个地址与方案http。可能有最多一个地址,每方案在此集合。参名称:项目

我做了一些研究,我们可以实现一个过滤器来告诉它忽略的一个主机,但我们无法访问服务器从该地址。

<serviceHostingEnvironment>
    <baseAddressPrefixFilters>
        <add prefix="http://domain.com:80"/>
    </baseAddressPrefixFilters>
</serviceHostingEnvironment>

什么是最好的解决办法在这种情况下,它将使我们能够打WCF服务通过 http://domain.com/service.svchttp://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”的文件。能够直接命中集群中的第三台机器。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top