Springboot使用@ServerEndpoint做Websocket遇到前后端分离跨域问题,即网页链接和wss链接不一样引起的跨域问题,亲测解决方案。

本文探讨了前后端分离时遇到的WebSocket跨域问题,特别是当网页链接与wss链接不一致时。尝试的解决方案包括Springboot配置、Vue与Springboot集成、Nginx配置等,但最终成功的方法是在WebSocket控制器上添加@CrossOrigin注解。这个简单的步骤有效地解决了跨域限制,确保了WebSocket连接的正常建立。参考文章详细介绍了uni-app H5的跨域问题解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题场景:

前后端分离跨域问题,即网页链接和wss链接不一样引起的跨域问题。

未能解决的方案:

可做为参考:

解决Springboot中websocket跨域问题

VUE、SPRINGBOOT集成WEBSOCKET跨域问题解决

Websocket @serverendpoint 404

使用stomp时,如何通过“ ws://” URL使springboot应用程序Websocket应用程序连接

宝塔Nginx配置wss

宝塔Nginx反向代理后,那里添加WebSocket配置文件

宝塔论坛websocket连接失败,是否为nginx配置问题?

宝塔论坛 我用nginx代理websocket 为什么不能用?

亲测解决的方案:

@ServerEndpoint(value = "/xxxx/{id}")
@Component
@CrossOrigin //只要加上这个注解即可解决socket跨域问题
public class webSocketServerController {

}

主要是在controller加上@CrossOrigin注解即可

具体可以参考这篇文章:uni-app H5跨域问题解决方案(CORS、Cross-Origin)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值