У меня есть приложение с двумя узлами (отдельными машинами) в кластере, использующее apache httpd (отдельная машина). Я использую websocket в нем в качестве коммуникационной службы. Весенний websocket на сервере и топать, sock js на стороне клиента. Ниже приведен код клиента:
// Create and init the SockJS object
var location =window.location.href +'socket'
var socket = new SockJS(location);
var stompClient = Stomp.over(socket);
Это отлично работает на http на одном сервере через IP. Но при развертывании по https через httpd apache (кластер из 2 узлов) происходит сбой с ошибкой ниже:
WebSocket connection to 'wss://xx.com/xx/socket/449/dwuz2vpv/websocket' failed: Error during WebSocket handshake: Unexpected response code: 400
(sock js redirects to wss when protocol is https)
ниже приведены запросы:
местные
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Cache-Control: no-cache
Connection: Upgrade
Host: localhost:9092
Origin: http://localhost:9092
Pragma: no-cache
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
Sec-WebSocket-Key: mZuh8PSqWIBKU75W45HgvA==
Sec-WebSocket-Version: 13
Upgrade: websocket
User-Agent: xx
прод (апач)
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Cache-Control: no-cache
Connection: Upgrade
Host: xx.com
Origin: https://xx.com
Pragma: no-cache
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
Sec-WebSocket-Key: GwGbtHUkMbBYvuO+cfCvrQ==
Sec-WebSocket-Version: 13
Upgrade: websocket
User-Agent: xx
Пожалуйста, помогите определить проблему. Мой стек - весенняя загрузка, apache httpd