簡體   English   中英

反向代理websockets(SSL),通過Stunnel到許多node.js應用程序的流量

[英]Reverse proxy websockets (SSL), traffic through Stunnel to many node.js apps

我正在尋找一些想法......

我有一系列強大的node.js應用程序需要交付給特定用戶(后驗證),幾乎沒有文件服務,只有索引的初始交付。 其余的通信都是通過socket.io完成的。

  • ClientA(登錄)需要連接到應用程序,例如:90001
  • ClientB(登錄)on:90002
  • ClientC(登錄)on:90003

*所有HTTP / 1.1必須是安全的

我嘗試了一些配置:

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

我認為一個好的方法是以某種方式使用redis來存儲會話並對cookie進行驗證,但這很可能是通過(使用節點)在前端公開node.js來完成的。

問題:

使用node-http-proxy作為前端有什么風險?

這是我認為可能的事情(有一件“安全地”重定向流量並管理特定會話到許多獨立/專有后端)。

我知道nginx 1.3(在開發中)是支持ws,這值得堅持嗎?

有沒有人對yao的tcp_proxy (可靠性/可擴展性)的tcp_proxy模塊有過任何經驗?

我不能說我以前做過這個,但我可以提供一些想法:

1節點認證服務器,它獲取登錄詳細信息並設置特定於用戶應連接的服務器的cookie。 然后它重定向到索引頁面,此時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 dev現在內置了對SSL的支持,因此不再需要stunnel了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM