2011-06-01 126 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