Vuejs应用显示无效的主机头错误循环

PRA*_*ASH 3 nginx webpack vue.js

我在自己的开发服务器上运行vuejs应用程序,现在可以通过计算机的公共IP访问该站点,但是使用nginx将其指向一个域后,它在控制台中显示了一个错误循环

控制台错误

无效的主机头[WDS]已断开连接!

因此,脚本,样式注入和自动重新加载无法正常工作。

开发服务器的配置

dev: {
  assetsSubDirectory: "static",
  assetsPublicPath: "/",
  disableHostCheck: true,
  host: "0.0.0.0", // '192.168.2.39',//can be overwritten by 
  process.env.HOST
  port: 8080,
  autoOpenBrowser: false,
  errorOverlay: false,
  notifyOnErrors: false,
  poll: true, 
  devtool: "cheap-module-source-map",
  cacheBusting: true,
  cssSourceMap: true
},
Run Code Online (Sandbox Code Playgroud)

域的nginx配置

server
{
  listen 80 ;
  listen [::]:80;
  server_name prajin.prakash.com;
  location / {
        proxy_pass http://localhost:8081;
  }
}
Run Code Online (Sandbox Code Playgroud)

小智 23

在 webpack-dev-server@v3 中:

module.exports = {
  devServer: {
    disableHostCheck: true,
  },
};
Run Code Online (Sandbox Code Playgroud)

在 webpack-dev-server@v4 中,该选项disableHostCheck已被删除,请改用allowedHosts

module.exports = {
  devServer: {
    // 'auto' | 'all' [string] here
    allowedHosts: 'all',
  },
};
Run Code Online (Sandbox Code Playgroud)

请参阅此处的文档https://webpack.js.org/configuration/dev-server/#devserverallowedhosts


小智 13

我相信你需要改变 vue.config.js

module.exports = {
  devServer: {
    disableHostCheck: true
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 拯救了我的一天。非常感谢! (2认同)
  • 可能会导致安全漏洞 - 请参阅下面的答案(/sf/answers/4348130881/) (2认同)

小智 11

2022 年 2 月更新:

vue.config.js在项目根目录下创建:

在此输入图像描述

然后,将此代码粘贴到vue.config.js

module.exports = {
  devServer: {
    disableHostCheck: true
  }
}
Run Code Online (Sandbox Code Playgroud)

*不要忘记重新启动服务器,否则更改不会反映出来。


And*_*ius 10

一般不建议这样做disableHostCheck: true(因为它可能会导致安全问题),除非您了解并接受风险。

请改为尝试如下设置 webpack 配置:

在 vue.config.js 的 app root 中添加

module.exports = {
  devServer: {
    public: 'subdomain.domain.ext:port'
  }
};
Run Code Online (Sandbox Code Playgroud)

注意:适用于在 vuejs + nginx 上运行的应用程序


Оли*_*акс 7

"vue": "^3.2.13",
"@vue/cli-service": "~5.0.0",
module.exports = {
  devServer: {
    allowedHosts: "all",
  },
};
Run Code Online (Sandbox Code Playgroud)