握手后,cometd立即返回“402 :: Unknown Client”错误

问题描述 投票:0回答:1

我有一个使用CometD Java构建的应用程序,它已部署到许多客户端托管实例并且工作正常。但是,在最近的客户端实现中,我们遇到了一个问题,即cometd长轮询请求在执行握手后立即返回“402 :: Unknown Client”错误。

因此浏览器尝试另一次握手,这是成功的,但是在下一次请求时它再次返回402 :: Unknown Client错误。等等,它重复这样。

我看不出这个客户端实现和之前的版本(相同的jboss / apache版本等)之间存在任何差异,所以我不知道为什么会发生这种情况。

感谢任何想法或建议。

谢谢。

java networking jboss cometd
1个回答
0
投票

负载均衡器很可能不会将同一客户端粘贴到同一台服务器上,而且必须这样做。

最好的方法是坚持客户端IP地址,因为这将适用于HTTP和WebSocket传输;或者,你可以坚持使用CometD发送的BAYEUX_BROWSER cookie。

进一步的替代方案涉及创建HTTP会话并使用其cookie,但这排除了WebSocket传输(或者您必须有另一种机制)。

© www.soinside.com 2019 - 2024. All rights reserved.