握手后,cometd立即返回“402 :: Unknown Client”错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了握手后,cometd立即返回“402 :: Unknown Client”错误相关的知识,希望对你有一定的参考价值。
我有一个使用CometD Java构建的应用程序,它已部署到许多客户端托管实例并且工作正常。但是,在最近的客户端实现中,我们遇到了一个问题,即cometd长轮询请求在执行握手后立即返回“402 :: Unknown Client”错误。
因此浏览器尝试另一次握手,这是成功的,但是在下一次请求时它再次返回402 :: Unknown Client错误。等等,它重复这样。
我看不出这个客户端实现和之前的版本(相同的jboss / apache版本等)之间存在任何差异,所以我不知道为什么会发生这种情况。
感谢任何想法或建议。
谢谢。
答案
负载均衡器很可能不会将同一客户端粘贴到同一台服务器上,而且必须这样做。
最好的方法是坚持客户端IP地址,因为这将适用于HTTP和WebSocket传输;或者,你可以坚持使用CometD发送的BAYEUX_BROWSER
cookie。
进一步的替代方案涉及创建HTTP会话并使用其cookie,但这排除了WebSocket传输(或者您必须有另一种机制)。
以上是关于握手后,cometd立即返回“402 :: Unknown Client”错误的主要内容,如果未能解决你的问题,请参考以下文章
Cometd/bayeux 客户端 + Salesforce 流 API 问题