nginx 経由で Websocket をプロキシする

nginx 経由で Websocket をプロキシする

リアルタイム データを取得するために X 個の Websocket 接続を提供するデータ プロバイダーがあります。データ プロバイダーが Websocket でリアルタイム データを提供し、それらを使用する代わりにリバース プロキシ経由でリアルタイム データを取得するためのブリッジとして機能するエンドポイントにサブスクライブするために、何らかの方法で nginx をリバース プロキシとして使用する方法があるかどうかを知りたいと思いました。

基本的に、彼らのWebソケットにサブスクライブしますが、リバースプロキシを使用して、リバースプロキシをWebソケットとして任意の数のクライアントに提供し、プロバイダーの制限を回避します。

申し訳ありませんが、これに関する例を挙げることはできません。Web 上でこれと同じようなものを見つけられなかったからです。まだクロール中です。

答え1

簡単な答え:いいえ。(少なくともモジュールなしでは)

NGINX はリクエストを転送して複数のバックエンドに配布することしかできませんが、Websocket に「サブスクライブ」して複数のサブスクライブ クライアントにブロードキャストすることはできません。

そのためには、Web ソケットを開いてクライアントへのブロードキャスト (NGINX から取得可能) を処理するアプリ サーバーが必要です。

関連情報