2017-09-13 21 views
-1

次のアーキテクチャ設定があります。SignalR2&JavascriptクライアントからサーバAからサーバBへ

クライアントA(Javascriptを)=>サーバA(SignalRサーバーを持っている) と クライアントA(Javascriptを)=>サーバB(またSignalR Serverが持っている)

私はそれのように作ることができるかどうかを知りたいですクライアントAはServerAのsignalrに接続し、書き換えルールを使用して、/ backend/signalrのような別のURIへの接続をサーバーBに渡すこともできますか?

このアーキテクチャの背後にあるのは、他のものの中でもサイトを提供するフロントエンドがあるためですが、クライアント(サーバーBからクライアントA)へのフィードバックも必要とするバックエンド処理アプリケーションです。私は現在両方のサーバでSignalRを使用しており、クライアントは両方に直接接続できます。

バックエンドサーバーを公開しないようにして、内部ネットワーク要求のみを許可したいのですが、それは問題ありませんが、私が管理しなければならない唯一の問題はクライアントのフィードバック更新ですサーバーBからクライアントAに通常はルーティングする必要があります。

私はここで答えを見ました@SignalR with IIS 10 and ARR 3.0、実際には同様の問題がありましたが、それには最初のプロキシサーバーがSignalRを提供していなかった。

これは、アーキテクチャ内に2つのSignalR実装があるという別のケースだと思います。

もう1つは、サーバーBのweb.configとIPの制限を使用して、サーバーAからの直接の通信のみを許可し、URIのSignalRを使用してパブリックフェイリングを許可すると考えられますが、可能。

当社のアプリケーションは ASP.NET 4.6 が

+0

申し訳ありませんが、なぜこれがコメントなしで下落したのかを知ることは素晴らしいことです。 –

答えて

0

10は、私は最終的にこれを解決するため、直接クライアントブラウザからのリクエストを受けてから、バックエンドサーバを削除IIS使用しています。

バックエンドサーバーの要件が必要なときに内部サーバーに接続するC#クライアントを作成するという、サーバーAハブ定義クラスの「プロキシ」を作成しました。必要なメソッドを作成し、バックエンドサーバーがSignalRを介してFrontEndサーバーに送信/送信した後、クライアントJavascriptブラウザーにプッシュしました。

IISのアプリケーションルーティング要求機能は、HTTPSをサポートしていないため、この実装ではジョブが完了すると思います。

これについて他の実装や考えがある場合は、他の人の考え方を知りたいと思います。それは私のために仕事を終わらせました、そして、私は今、私が最初に持っていたSignalR要件のために、バックエンドサーバを一般公開にすることを取り除くことができます。

関連する問題