我在Amazon Web Services
'Elasticbeanstalk
(IIS配置的機器)上部署了一個Asp.Net Web API項目。一切工作正常,除了WebSocket。爲了更方便地測試WebSocket,我在Chrome上使用Simple WebSocket Client擴展。AWS Elasticbeanstalk WebSockets
當我做對API的請求,我得到以下(錯誤)消息(我看到這條消息在開發者控制檯的網絡選項卡):
WebSocket connection to 'ws://my_url' failed: Error during WebSocket handshake: Unexpected response code: 400
我還沒有找到足夠的信息來解決這個問題。
我試圖啓用所有端口和所有IP在Security Groups
下的所有入站/出站TCP連接。
我試着創建一個空的Asp.Net Web API項目,它只有一個基本的WebSocket示例(只是向連接的用戶發送消息),並將它部署到AWS上的全新環境和應用程序。
到目前爲止沒有任何工作。
我正在使用Microsoft's WebSockets,.NET Framework 4.5.1。
什麼是可能的解決方法?
我正在一步步完成他們在文章上的操作,但我仍然得到相同的錯誤。我嘗試刪除EC2的當前負載均衡器,現在我甚至無法連接到我的服務器。我如何將新的負載平衡器(ALB-應用程序負載均衡器)與現有的EC2實例相匹配?我也嘗試用ALB創建新的EC2,但我沒有被問到負載平衡器,以便我可以選擇ALB。你知道嗎? – JustWork
AWS Elastic Load Balancer實際上支持Web套接字,您只需將默認偵聽器協議(HTTP)更改爲TCP(如接受的答案和以下內容中所建議[博客](http://blog.flux7.com/web-apps -websockets與 - AWS-彈性負載平衡) – endertunc