0
我在AWS EC2中擁有SignalR服務。 我想用Redis引擎Elasticache設置背板。 我可以使用redis-cli工具在SignalR服務器上成功連接到Easticache。使用AWS ElastiCache Redis失敗的SignalR背板
C:\>redis-cli -h server.cache.amazonaws.com -p 6379 ping
PONG
但是,當我把backpalne設置代碼,該SignalR返回
SignalR:嘗試連接時的WebSockets交通超時。
沒有背板設置代碼
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,而是在AWS上使用Redis,並在本地運行SignalR服務器,如果遇到同樣的問題,它將更容易排除故障。 – Pawel