如何解决这些SockJS ssl错误?

bbs*_*nbb 5 webpack vue.js webpack-dev-server

使用vue-cli 3,我有了一个vue应用,它在开发模式下旋转。我打电话给npm run serve,我看到...

DONE  Compiled successfully in 431ms                                                                                                                                                                   
16:26:43
App running at:
- Local:   http://localhost:8080/mobileapp/v/
- Network: http://172.18.55.202:8080/mobileapp/v/
Run Code Online (Sandbox Code Playgroud)

(路径/mobileapp/v/来自baseUrl配置变量。域notilusdev.dimosoftware.com/mobileapp指向iis中的vdir,并且对/ mobileapp / v /的请求被反向代理到webpack-dev-server)

在浏览器中,该应用程序正常启动。然后,它开始向发出请求https://172.18.55.202:8080/sockjs-node/info?t=1529072806971。这些请求失败,因为该端口上没有SSL。我什至不希望ip作为网站的公共地址。Webpack(或sockjs)如何构造此URL?当它只是给我一个直接的http链接时,为什么认为此端口上有ssl?如果将协议基于地址栏协议,为什么它忽略地址栏主机名。如何配置才能使这些请求成功?

在此处输入图片说明

bbs*_*nbb 5

这是一场挣扎,但现在正在运作...

在vue.config中publicdevServer对象添加属性。

我需要的属性public不是publicPath,而且硬道理是在得知vue将忽略configureWebpack{ devServer: {。您需要使用顶级devServer属性。

所以我的工作vue.config.js是...

module.exports = {
  baseUrl: process.env.NODE_ENV === 'production'
    ? '/production-sub-path/'
    : '\/mobileapp\/v\/',
    devServer :{
      public : 'notilusdev.dimosoftware.com',
      host : '0.0.0.0',
      disableHostCheck : true
    }  
}
Run Code Online (Sandbox Code Playgroud)

然后,我需要通过express反向代理https和wss://请求,终止express中的ssl,但这是另一回事了。

  • 对于快速浏览和使用 localhost 在本地工作的人来说,帮助我将这个“公共”属性添加到 vue.config.js 中的 devServer 属性的关键部分:`public: 'http://localhost:8080'` (3认同)