Я использую прокси из Angular CLI
ng serve --proxy-config proxy.conf.json
со следующей конфигурацией
{
"/api/*": {
"ws": true,
"secure": false,
"target": "http://localhost:80",
"logLevel": "debug"
}
}
Пока соединения HTTP правильно перенаправлены, соединения WebSocket не работают.В wireshark я вижу, что входящее соединение (Browser to Angular Proxy) содержит необходимые заголовки веб-сокета:
sec-websocket-extensions: permessage-deflate; client_max_window_bits
sec-websocket-key: ...
sec-websocket-version: 13
upgrade: websocket
connection: Upgrade
Но, глядя на исходящее соединение (Angular Proxy to Server), заголовок обновления отсутствует:
sec-websocket-extensions: permessage-deflate; client_max_window_bits
sec-websocket-key: ...
sec-websocket-version: 13
Из-за отсутствующего заголовка обновления соединение затем отклоняется на стороне сервера.
Нужна ли другая конфигурация для сохранения полей заголовка WebSocket или это ошибка?
Angular CLI: 6.0.3
Node: 10.0.0
OS: linux x64