Cometd возвращает ошибку «402 :: Неизвестный клиент» сразу после рукопожатия - PullRequest
0 голосов
/ 27 июня 2018

У меня есть приложение, созданное с использованием CometD Java, которое было развернуто на нескольких клиентских экземплярах хостинга и работает нормально. Однако в недавней реализации клиента у нас возникла проблема, когда запросы длинных опросов cometd возвращают ошибку «402 :: Unknown Client» сразу после выполнения рукопожатия.

Таким образом, браузер пытается выполнить другое рукопожатие, которое успешно, но затем он возвращает ошибку 402 :: Unknown Client при следующем запросе. И так далее, как это повторяется.

Я не вижу никаких различий между этой реализацией клиента и предыдущими (те же версии jboss / apache и т. Д.), Поэтому я застрял в том, почему это происходит.

Ценю любые мысли или предложения.

Спасибо.

1 Ответ

0 голосов
/ 28 июня 2018

Скорее всего, балансировщик нагрузки не привязывает один и тот же клиент к одному и тому же серверу, и он должен это делать.

Лучший подход - использовать IP-адрес клиента, так как это будет работать как для HTTP, так и для WebSocket-транспорта; в качестве альтернативы, вы можете прикрепить файл cookie BAYEUX_BROWSER, который отправляет CometD.

Дальнейшие альтернативы включают создание сеанса HTTP и использование его cookie, но это исключает транспорт WebSocket (или для этого необходим другой механизм).

...