跨域 WebSocket 连接 [Spring 启动]

Cross Domain WebSocket Connection [Spring Boot]

我有两个 spring 引导服务实例 运行。假设 'app1:8080' 和另一个实例 'app2:7070'。 'app1:8080' 正在托管一个 html 页面,它会在启动时尝试与 'app2:7070' 建立网络套接字连接。 是这样的: var webSocket = new WebSocket("ws://app2:7070/socket-endpoint");

但我总是收到 403 错误消息。我已经阅读了有关跨域的信息,并尝试在 'app2:7070' 中注册 'app1:8080'。 但是找不到任何解决方案。

服务器技术:spring启动 客户端技术:HTML5

这很可能是跨源调用造成的。您有不同的选择来解决这个问题:

  • 在两个应用程序前面放置一个像 nginx 这样的负载均衡器,并使用相同的基础为它们提供服务URL
  • 从同一个应用程序提供 html(如果是小型应用程序,这是最简单的解决方案)
  • 或者在您的案例中允许从 app1 在 app2 中进行跨源调用,如记录的 here