我在Amazon Web Services
'Elasticbeanstalk
(IIS配置的计算机)上部署了一个Asp.Net Web API项目。一切正常,除了WebSocket。为了更轻松地测试WebSocket,我在Chrome上使用Simple WebSocket Client扩展名。
当我向API发出请求时,我收到以下(错误)消息(我在开发者控制台的网络选项卡上观察到此消息):
WebSocket connection to 'ws://my_url' failed: Error during WebSocket handshake: Unexpected response code: 400
我没有找到足够的信息来解决这个问题。
我尝试启用Security Groups
下所有端口和所有IP的所有入站/出站TCP连接。
我尝试创建一个空的Asp.Net Web API项目,该项目只有WebSockets的基本样本(只是向连接的用户发送消息)并将其部署到AWS上的全新环境和应用程序。
到目前为止没有任何工作。
我正在使用Microsoft's WebSockets,.NET Framework 4.5.1。
有哪些可行的解决方案?
答案 0 :(得分:0)
如果您在弹性beanstalk中使用AWS Elastic Load Balancer,那么ELB不支持Web套接字,您必须应用解决方法。更改支持Websockets的Load Balancer顶级经典负载均衡器。
https://aws.amazon.com/blogs/aws/new-aws-application-load-balancer/
答案 1 :(得分:-1)
我通过在All TCP
的{{1}}段上添加Inbound
并使用服务器的IP地址而不是AWS创建的名称解决了这个问题。