首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WebSocket握手失败

WebSocket握手失败
EN

Stack Overflow用户
提问于 2016-07-01 14:14:24
回答 1查看 2.6K关注 0票数 0

我的应用程序是一个Spring应用程序,它使用带有STOMP的Spring。在我的本地,所有的配置都很好。但是在云中得到以下错误。

服务器错误:-

错误o.s.w.s.DefaultHandshakeHandler-由于升级标头无效导致握手失败: null

客户端错误:-在浏览器中:-

到'wss://.example.com/ws/313/7pq61a2c/websocket‘的WebSocket连接失败:在WebSocket握手期间出错:意外响应代码: 400

代码语言:javascript
运行
复制
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-websocket</artifactId>
    </dependency>
<dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-messaging</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-websocket</artifactId>
        </dependency>

我和ELB一起部署在AWS云中。我的实例运行在HTTP上,在ELB中启用了HTTPS。我使用AWS路线53作为我的域名。

我已经添加了一个'A‘记录与LoadBalancer网址在53路线。

HTTPS证书用于*.example.com。

ELB配置如下所示:

HTTP - 80 -HTTP-80 HTTPS - 443 -HTTP-80

我谷歌了一下,发现我需要增加空闲超时时间。用户可能会将会话打开8小时。那么,我需要配置它8个小时吗?在ELB中还有其他的配置吗?

虽然我们在HTTP上运行我们的EC2实例,但是我们有一个过滤器,它将用户重定向回基于X_Proto头的HTTPS。

在调试日志中,我看到了http://example.com:80/ws/313/7pq61a2c/websocket

这就是原因吗?

我如何配置websocket来尝试使用https而不是http?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-07-11 02:55:30

我认为问题在于AWS目前不支持网络套接字。

您可以查看以下链接:

  1. https://blog.jverkamp.com/2015/07/20/configuring-websockets-behind-an-aws-elb/
  2. https://www.built.io/blog/2014/11/websockets-on-aws-elb/

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38147668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档