Похоже, что spring-security-web RequestCacheAwareFilter
извлекает кэшированный запрос, в результате чего действительное значение заголовка Sec-WebSocket-Key заменяется недействительным.
последовательность событий такова, что каждый раз, когда клиент пытается повторно подключиться, клиент делает два запроса веб-сокета, первый отклоняется с WWW-Authenticate: Negotiate header, а второй содержит Authorization *Заголовок 1009 * имеет другое значение Sec-WebSocket-Key .
Мне удалось решить эту проблему путем полного отключения кэширования, например, в пределах WebSecurityConfigurerAdapter
@Override
protected void configure(final HttpSecurity http) throws Exception {
http.requestCache().requestCache(new NullRequestCache())
}