我有一个简单的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编译成功。但是在访问URL时,它在网页上显示“无效的主机头”。
有没有人能帮上忙。React中有些新的。
提前致谢。
6条答案
按热度按时间mjqavswn1#
在您的webpack配置中,您可以在
devServer
配置中添加disableHostCheck: true
。例如,smtd7mpg2#
只是为了解释为什么会发生这种情况。
webpack-dev-server已发布 v2.4.3。
引用他们的补丁说明:
请求的主机标头必须与公共选项中提供的监听地址或主机匹配。请确保在此处提供正确的值。
他们还包括
disableHostCheck
来关闭此检查,但是只有当你知道你在做什么的时候才使用它。不推荐。
lg40wkob3#
在Webpack的最新版本(我使用v4)中,
disableHostCheck
不可用,但文档建议使用allowedHosts
。它对我很有效。请参阅Webpack的devServer.allowedHosts。
wvt8vs2t4#
配置响应目标主机将修复“Invalid Host Header”错误
查找React服务器的FQDN,例如,如果服务器的FQDN为:my.devserver.com
将以下行添加到.env文件中:
重新启动react应用程序并在http://my.devserver.com:3000/下访问它
如果my.devserver.com需要从其他计算机访问www.example.com,请将以下行添加到hosts文件(在基于Unix的系统上为/etc/hosts):
atmip9wb5#
如果你看到这个与nginx proxy + ssl /和docker结合在一起,我需要指定主机和定制的代理变量
https://github.com/plaid/quickstart/blob/master/frontend/src/setupProxy.js
我基本上需要告诉React主机+环境:
6gpjuf906#
在构建脚本中将主机更改为127.0.0.1。
"build": "SET NODE_ENV=production && webpack-dev-server --host 127.0.0.1 --inline --history-api-fallback --content-base . "