在vue-cli中配置websocket 代理接口地址不起作用

配置文件中:

dev: {

env: require('./dev.env'),
port: 8080,
autoOpenBrowser: true,
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
    '/risk':{
        target:'http://xxx.xxx.xxx.xxx/'
    },
    '/socket': {
        target:'ws://xxx.xxx.xxx.xxx/',
        ws: true,
    }
} 

var ws = new WebSocket('/socket/xxx')

直接使用 var ws = new WebSocket('ws://xxx.xxx.xxx.xxx/socket/xxx')没有问题,配置代理地址时,'/risk'路径的接口正常,/socket接口报错
Uncaught DOMException: Failed to construct 'WebSocket': The URL '/socket/xxx' is invalid.

阅读 11.8k
3 个回答

var ws = new WebSocket('ws://' + location.host + '/socket/xxx')

新手上路,请多包涵

跟楼主一样的设置了代理,但是使用var ws = new WebSocket('ws://' + location.host + '/socket/xxx')这个的时候,总是会报错
WebSocket connection to 'ws://xxx.xxx.xxx.xxx/socket/xxx' failed: Connection closed before receiving a handshake response。
请问楼主是否知道该怎么解决?

新手上路,请多包涵

我也是同样问题,请问哪位大神给我们指点下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题