Angular Proxy放弃WebSocket升级标题

时间:2018-06-12 12:43:26

标签: angular websocket proxy

我正在使用Angular CLI中的代理 ng serve --proxy-config proxy.conf.json
使用以下配置

{
    "/api/*": {
        "ws": true,
        "secure": false,
        "target": "http://localhost:80",
        "logLevel": "debug"
    }
}

正确转发HTTP连接时,WebSocket连接不起作用。在wireshark中,我可以看到传入连接(浏览器到Angular Proxy)包含所需的websocket标题:

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

1 个答案:

答案 0 :(得分:0)

您可能需要将此添加为标题

"headers": {
  "Connection": "upgrade"
}