我正在使用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
答案 0 :(得分:0)
您可能需要将此添加为标题
"headers": {
"Connection": "upgrade"
}