"无效的主机标头"在运行React App时

时间:2017-04-27 06:50:56

标签: reactjs deployment webpack react-router webpack-dev-server

我有一个简单的React JS项目,我正在部署到OSE中。我也在我的项目中使用以下依赖项。

 "webpack": "^2.2.0",
 "webpack-dev-server": "^1.14.1",
 "react": "^15.5.4",
 "react-router-dom": "^4.1.1"

我也正在通过下面的构建脚本运行我的项目。

"build": "SET NODE_ENV=production && webpack-dev-server --host 0.0.0.0 --inline --history-api-fallback --content-base . "

OSE中的一切都很顺利,Webpack已成功编译。但在访问网址时,它会显示"无效的主机标题"在网页上。

任何人都可以帮忙解决这个问题。 React中有些新东西。

先谢谢。

4 个答案:

答案 0 :(得分:24)

在您的webpack配置中,您可以在disableHostCheck: true配置中添加devServer。例如,

devServer: {
  disableHostCheck: true
}

答案 1 :(得分:0)

只是解释为什么会这样。

webpack-dev-server 已发布 v2.4.3

引用补丁说明:

  

请求的主机标头必须与侦听地址或公共选项中提供的主机相匹配。   请务必在此处提供正确的值。

他们还包含disableHostCheck来关闭此检查,但是

  

只有在知道自己的所作所为时才使用它。不推荐。

答案 2 :(得分:0)

在构建脚本中将主机更改为127.0.0.1。

"build": "SET NODE_ENV=production && webpack-dev-server --host 127.0.0.1 --inline --history-api-fallback --content-base . "

答案 3 :(得分:0)

配置反应目标主机将修复“无效主机头”错误

找到您的 React 服务器的 FQDN,例如,如果您的服务器的 FQDN 是:my.devserver.com

将以下行添加到您的 .env 文件中:

HOST=my.devserver.com

重新启动 react 应用程序并在 http://my.devserver.com:3000/

访问它

如果需要从其他机器访问 my.devserver.com,请将此行添加到您的主机文件(基于 Unix 的系统上的 /etc/hosts):

0.0.0.0 my.devserver.com