2011-06-01 72 views
5

如果SSL由负载均衡器处理,我是否仍然需要在WCF serviceCertificate节点中配置它?我的场景是使用消息级安全性。如果有人可以解释如何使用wcf和ssl进行负载平衡,那将是非常好的。WCF + SSL如何处理负载平衡?

+0

如果要使用邮件安全性,则不需要SSL。 – 2011-06-01 19:30:33

+0

但是,如果您使用消息级安全性,则不会要求您拥有SSL证书。 – Xaisoft 2011-06-01 19:32:45

+1

它需要证书,但不用于建立SSL连接。 – 2011-06-01 19:40:28

回答

4

WCF需要传递通过安全传输安全令牌,如果消息本身没有签名/ encry PTED。由于您的Big-IP和您的个人Web服务器之间的流量是HTTP,因此您需要一种方法让您知道在客户端和Big-IP之间保证安全令牌的安全令牌仍然传递到您的服务器场。根据您使用的WCF版本,有几种方法:

如果您使用的是WCF 4.0,则只需创建一个自定义绑定并在内置的SecurityBindingElement上设置AllowInsecureTransport属性即可表示您不关心运输不安全。

如果您使用的是WCF 3.5,则必须在服务器端自定义TransportSecurityBindingElement来“说谎”安全。你可以阅读我的旧帖子关于这个here

FWIW,他们为3.5 SP1创建了a hotfix release,该版本将​​添加到该版本,但我不知道贵公司是否允许您安装自定义修补程序。

+0

我们永远无法让AllowInsecureTransport在安全端绑定上工作。祝你好运。 – 2011-06-01 22:08:29

+0

+1为自定义安全元素的链接。 – 2011-06-01 22:31:02

+0

唯一的问题是OP不知道他想要什么。标题正在要求传输安全性的负载平衡,并且问题是要求消息安全性的负载平衡。 – 2011-06-01 22:34:48

0

它没有。不要打扰这一点。你将处于一个受伤的世界。只需在每台机器上安装证书。我们最近经历了这场惨败。 WCF不值得它认为需要SSL的努力,但认为它没有它。如果您想在负载均衡器上执行所有SSL,请查看openrasta或其他内容。 #microsoftfail

+0

有趣的答案。如果有人能证实这一点会更有趣吗? – Xaisoft 2011-06-01 19:28:08

+1

我在真实系统中验证了很多次。保存您的理智,并且不要在负载平衡的场景中使用WCF w/SSL。 – 2011-06-01 19:29:05

+0

我问了一个最近的WCF MCP认证的人,他不知道。我们只需说这个场景不在MS的WCF应该做的事情的顶部。如果你真的想要得到这个工作,你可能想要在Twitter上注册Glenn Block。祝你好运。 – 2011-06-01 19:32:31

4

如果要使用邮件安全性,那么每个邮件都会被加密并单独签名 - 没有安全连接,并且负载平衡器的行为与任何其他HTTP传输一样。 Loadbalancer不知道安全性,不需要证书。

有两个陷阱:

  • 所有负载均衡应用服务器托管WCF服务必须使用相同的证书
  • 你必须确保你的WCF绑定不使用会话(可靠,安全),否则你将需要与粘性会话负载均衡算法(用于始终路由到同一台服务器单一会话的所有请求)
+0

您的意思是“没有安全连接..”,当您说所有负载均衡服务器都必须使用相同的证书时,是指负载均衡器后面的服务器吗?您还认为绑定不使用安全性,您是否指邮件安全性? – Xaisoft 2011-06-01 19:47:29

+0

那么,我认为你不完全理解[传输和消息安全之间的区别](http://stackoverflow.com/questions/5673283/wcf-transport-vs-message/5673867#5673867)。 – 2011-06-01 19:51:47

+0

我指的是负载均衡器后面的服务器。我没有提到你不使用安全性,我提到你不能使用安全会话也称为安全上下文或安全对话。 – 2011-06-01 19:52:58