2012-10-30 41 views
4

我找一些想法...反向代理的WebSockets(SSL),流量通過Stunnel的許多應用程式的Node.js

我有一系列強大的node.js的應用程序,需要傳送到特定的用戶(後驗證),幾乎沒有文件服務,只有索引的初始交付。通訊的其餘部分全部通過socket.io完成。

  • 客戶端A(登錄)需要連接到一個應用程序上可以說:90001
  • ClientB上(登錄):90002
  • ClientC(登錄)上:90003

*所有HTTP/1.1 WS需要保密

我已經嘗試了一些配置:

  • 安全通道/清漆/ nginx的
  • 安全通道/ HAProxy的
  • 安全通道/ nginx的

我在想一個好辦法是某種方式使用Redis的存儲會話和驗證對一個cookie,但是那會最可能是通過(使用節點)在前端暴露node.js來完成的。

問題:

什麼是使用node-http-proxy作爲前片的風險?

這是什麼,我認爲應該可以(有1張「安全」重定向WS交通和管理特定會話許多獨立/獨家後端)。

我知道nginx的1.3(在開發中)是支持WS,這是值得持有出來?

有沒有人曾與姚明的tcp_proxy模塊nginx的(可靠性/可擴展性)的任何徹底的經驗嗎?

回答

0

我不能說我以前做過,但我或許可以提供一些想法:這需要登錄信息,並設置特定於用戶應該連接到服務器的一個cookie

1節點認證服務器。然後它重定向到索引頁面,haproxy可以根據cookie指示請求。看到這個問題https://serverfault.com/questions/75385/is-there-a-way-to-configure-haproxy-to-send-traffic-based-on-a-cookie

或者,你可以將所有的服務器,而不只是一個在上面的認證。如果沒有相關的Cookie頭部,Haproxy將不得不配置爲跨所有節點進行平衡。每個節點將執行set-cookie +重定向,並且後續請求應該在特定節點實例上結束。

BTS,HAProxy的1.5開發,現在已經內置支持SSL,所以沒有必要再安全通道。

相關問題