ステージング環境で、SignalR が要求が別のドメインから来ていると判断したという問題に直面しました。ということで、とりあえず CORS を有効にしましたが、ロングポーリングにダウングレードされ、サーバーのアフィニティを維持できないことに気付きました。
.NET 4 / SignalR 1.2.2 を使用しており、リクエストは F5 ロード バランサーを通過します。この問題をデバッグし、ログを取得し、CORS を無効にして正確な詳細を取得しようとしています。「 http://domainname.com/signalr 」でハブをマッピングしようとしましたが、うまくいきませんでした。アプリケーションは問題なく起動しましたが、signaler に接続できなくなりました。私たちは .NET 4 を使用しているため、最新バージョンの WebSocket に移行することはできません。
範囲のドメインを許可するように SignalR に指示する最良の方法は何ですか? (ハブをマップするために複数の呼び出しも試みましたが、失敗しました)。
アップデート:
さらに調査した結果、アプリケーションは内部および外部からアクセスできることがわかりました。SignalR はマシン名にバインドされているようです。したがって、すべてがローカル URL で機能します。ただし、F5 ロード バランサーが転送する外部ドメインから要求を行うと、SignalR はそれがクロスサイト要求であると見なします....理論的には、この場合はそうではありません。
これは F5 の問題である可能性はありますか?
longPolling にダウングレードせずに特定のドメインを許可するように SignalR に依頼する方法はありますか?