Заголовок "Соединение" WebSocket отсутствует
Я пытаюсь подключиться к Intersystems Cache CSP Websocket со следующей строки от клиента:
var ws = new WebSocket("ws://" + window.location.host + "/path/ClassName.cls");
И я получаю эту ошибку в консоли Chrome:
WebSocket connection to 'ws://<server address>' failed: Error during WebSocket handshake: 'Connection' header is missing
Заголовки запроса:
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8,he;q=0.6
Cache-Control:no-cache
Connection:Upgrade
Cookie:CSPWSERVERID=Cache for Windows (x86-64) 2013.1.1 (Build 501_1_13062) Sun Aug 11 2013 23:20:33 EDT
Host:<host-ip>
Origin:http://<host-ip>
Pragma:no-cache
Sec-WebSocket-Extensions:permessage-deflate; client_max_window_bits
Sec-WebSocket-Key:<the key>
Sec-WebSocket-Version:13
Upgrade:websocket
User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36
И заголовки ответа:
Date:Tue, 04 Aug 2015 11:45:54 GMT
Sec-WebSocket-Accept:<some key>
Sec-WebSocket-Protocol:chat
Server:Microsoft-IIS/7.5
Transfer-Encoding:chunked
Upgrade:websocket
X-Powered-By:ASP.NET
Сервер использует IIS 7.5, который технически не поддерживает WebSocket, но кажется, что все заголовки websocket действительно установлены, кроме одного: "Соединение": "Обновление".
Есть ли способ вставить заголовок "соединения" в ответ на рукопожатие? Есть ли какая-то конфигурация клиента, которая может игнорировать отсутствующий заголовок?
Благодарю.
1 ответ
К сожалению, для поддержки WebSockets вам нужны IIS 8 + Windows 8 и Windows Server 2012