ActiveMQ-通过WebSocket踩踏-同源策略

时间:2020-07-28 21:43:11

标签: websocket activemq

我有一个在加利福尼亚运行的进程,希望通过Websockets上的Stomp与纽约的进程进行对话。

还请注意,我的过程不是Web应用程序,但是我使用C ++在Websocket客户端上实现了重载,以便将内容连接到后端。也许这是一个或不是一个好主意。因此,我希望我的客户端与服务器对话并进行订阅,客户端在该服务器上推送消息。

当我看到ApacheMQ通过Websockets支持Stomp时,我正在实现自己的服务器。因此,我开始阅读文档。

它说的是“配置”下的最后一行 http://activemq.apache.org/websockets

值得注意的是,Web套接字(就像Ajax一样)实现了吗? >相同的原始策略,因此您只能访问与运行客户端的Web应用程序在同一主机上运行的代理。

它在诸如http://sensatic.net/activemq/activemq-54-stomp-over-web-sockets.html

之类的一些相关搜索中又说了一遍

这是服务器或Web客户端的限制吗?

有了这个限制,如果我理解正确,服务器将不会接受来自不在同一台计算机上的任何客户端的Websocket连接?

我不确定我是否明白这一点……

如果这确实是它的意思,那么我该如何解决它才能实现我的方案?

1 个答案:

答案 0 :(得分:0)

我没有找到您要参考的文档,但是根据我对代理上STOMP实现的了解,这似乎是不正确的。默认情况下,传输连接器不应该接受外部主机的连接请求,也没有任何限制,而且我认为浏览器不会像对待Ajax案例一样将Websocket请求像对待其他源一样处理相同的源策略

这种情况最好通过实际尝试以查看其是否有效来进行检查,我已经通过ActiveMQ上的websocket使用AMQP从同一主机外部进行了很好的连接,所以我猜想STOMP堆栈也应该可以正常工作