Sock JS websocket в кластере apache - PullRequest
       10

Sock JS websocket в кластере apache

0 голосов
/ 31 октября 2018

У меня есть приложение с двумя узлами (отдельными машинами) в кластере, использующее 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

...