0
AWS EC2にSignalRサービスがあります。 RedisエンジンElasticacheでバックプレーンを設定したいと思います。 Redis-cliツールを使用して、SignalRサーバーのEasticacheに正常に接続できます。私はbackpalne設定コードを置くときAWS ElastiCache RedisでのSignalRバックプレーンが失敗しました
C:\>redis-cli -h server.cache.amazonaws.com -p 6379 ping
PONG
はしかし、SignalRは
SignalRを返します。接続しようとするとWebSocketをトランスポートがタイムアウトになりました。バックプレーンの設定コード
GlobalHost.DependencyResolver.UseRedis(server, port, string.Empty, appName);
なし
は、それはうまく動作します。
エラーメッセージが
[03:31:21 GMT+0000 (Coordinated Universal Time)] SignalR: Negotiating with 'http://server.elb.amazonaws.c…Protocol=1.5&connectionData=%5B%7B%22name%22%3A%22notificationhub%22%7D%5D'.VM47 jquery.signalR-2.2.0.min.js:8 [03:31:28 GMT+0000 (Coordinated Universal Time)] SignalR: webSockets transport starting. VM47 jquery.signalR-2.2.0.min.js:8 [03:31:28 GMT+0000 (Coordinated Universal Time)] SignalR: Connecting to websocket endpoint 'ws://server.elb.amazonaws.com/signalr/connect?transport=webSockets&clientProtocol=1.5&connectionToken=xSWImxTslxzzk4toiMzjuNod56GaOF27NaT1t1ZkACbNqMC%2BhVRvEFtc2MesygYDRY1ULm%2BtFSo4djNegjcNtuD6lpk1pQQ7ecVZoLFr6aPJ%2FP0HHhUmAjgOVs1FyqQt&connectionData=%5B%7B%22name%22%3A%22notificationhub%22%7D%5D&tid=9'. VM47 jquery.signalR-2.2.0.min.js:8 [03:31:28 GMT+0000 (Coordinated Universal Time)] SignalR: webSockets transport starting. VM47 jquery.signalR-2.2.0.min.js:8 [03:31:33 GMT+0000 (Coordinated Universal Time)] SignalR: webSockets transport timed out when trying to connect. VM47 jquery.signalR-2.2.0.min.js:8 [03:31:33 GMT+0000 (Coordinated Universal Time)] SignalR: Closing the Websocket. index.html#/intro:1 WebSocket connection to 'ws://server.elb.amazonaws.com/signalr/connect?transport=webSockets&clientProtocol=1.5&connectionToken=xSWImxTslxzzk4toiMzjuNod56GaOF27NaT1t1ZkACbNqMC%2BhVRvEFtc2MesygYDRY1ULm%2BtFSo4djNegjcNtuD6lpk1pQQ7ecVZoLFr6aPJ%2FP0HHhUmAjgOVs1FyqQt&connectionData=%5B%7B%22name%22%3A%22notificationhub%22%7D%5D&tid=9' failed: WebSocket is closed before the connection is established. VM47 jquery.signalR-2.2.0.min.js:8 [03:31:33 GMT+0000 (Coordinated Universal Time)] SignalR: Websocket closed.
を次の更新
私は、サーバーにローカルのRedisをインストールした後に、同じ問題が発生しています。 AWS Elasticacheの問題ではないようです。
AWSのRedisにローカル接続してサーバーを実行し、サーバーに例外がないかどうかを確認してください。 – Pawel
ありがとうございます、私はローカルのRedisをインストールして、WebSocketsの転送タイムアウトの問題が発生しました。 AWS Elasticacheの問題ではありませんでした。私のサーバーは例外ではありません。 – Chris
アイデアはRedisをローカルにインストールするのではなく、同じ問題が発生した場合は、トラブルシューティングがはるかに簡単になるように、ローカルで動作しているSignalRサーバーでAWSのRedisを使用することです。 – Pawel