4

私はいくつかのアイデアを探しています...

特定のユーザー (認証後) に配信する必要がある一連の堅牢なnode.jsアプリがあり、実質的にファイル サービスはなく、インデックスの最初の配信のみです。残りの通信はすべて socket.io 経由で行われます。

  • ClientA (ログイン) は、たとえば :90001 のアプリケーションに接続する必要があります
  • :90002 の ClientB (ログイン)
  • :90003 の ClientC (ログイン)

*すべての HTTP/1.1 ws はセキュアである必要があります

私はいくつかの構成を試しました:

  • stunnel/ワニス/nginx
  • スタンネル/ハプロキシ
  • stunnel/nginx

セッションを保存し、Cookie に対して検証するために何らかの方法で redis を使用するのが良い方法だと考えていましたが、それは (node を使用して) フロントエンドで node.js を公開することによって行われる可能性が最も高いでしょう。

質問:

node-http-proxyフロントピースとして使用する場合のリスクは何ですか?

これは私が可能と見なすべきものですか (ws トラフィックを「安全に」リダイレクトし、特定のセッションを多くの独立した/排他的なバックエンドに管理する 1 つのピースを持つこと)。

nginx 1.3 (開発中) が ws をサポートすることになっていることは承知していますが、これを待つ価値はありますか?

tcp_proxynginx用のyaoのモジュール(信頼性/スケーラビリティ)を完全に経験した人はいますか?

4

1 に答える 1

0

以前にこれを行ったことがあるとは言えませんが、おそらくいくつかのアイデアを提供できます。

ログインの詳細を取得し、ユーザーが接続するサーバーに固有の Cookie を設定する 1 ノード認証サーバー。その後、インデックス ページにリダイレクトされます。この時点で、haproxy は Cookie に基づいてリクエストを送信できます。この質問を参照してください https://serverfault.com/questions/75385/is-there-a-way-to-configure-haproxy-to-send-traffic-based-on-a-cookie

または、1 つのサーバーだけでなく、すべてのサーバーで上記の認証を行うこともできます。関連する Cookie ヘッダーがない場合、Haproxy はすべてのノードでバランスをとるように構成する必要があります。各ノードは set-cookie + リダイレクトを実行し、後続のリクエストは特定のノード インスタンスで終了する必要があります。

bts、haproxy 1.5 dev には SSL のサポートが組み込まれているため、stunnel はもう必要ありません。

于 2012-12-11T02:22:12.310 に答える