【问题标题】:Invalid Host header when running Create React App on localhost subdomain在 localhost 子域上运行 Create React App 时主机标头无效
【发布时间】:2017-10-19 06:05:54
【问题描述】:

更新到 react-scripts 1.0.0 后,当我尝试在 localhost 子域的浏览器中打开我的应用时出现此错误:'Invalid Host header'

我的应用设置为为不同的子域提供不同的数据: group1.localhost:3000 group2.localhost:3000 ...

我发现将下面的代码添加到我的 webpack 配置中应该可以解决问题。

devServer: {
  disableHostCheck: true
}

但是如何在不弹出的情况下在 CRA 中修复它?

【问题讨论】:

标签: webpack create-react-app


【解决方案1】:

开发环境的一个简单解决方案是设置以下环境变量:DANGEROUSLY_DISABLE_HOST_CHECK=true

这可以通过例如将该行添加到项目根目录中的.env 文件中。请注意,这不是一个安全的解决方案,不应在生产中使用。

【讨论】:

  • 在生产环境中使用它会有多粗略?
  • 在生产中应该使用什么?
  • 问题和这个答案适用于启动开发服务器的start 脚本。在生产中,您应该运行build 脚本来构建生产包。然后使用 Web 服务器将这个静态包提供给用户,例如Nginx 或 Apache。也可以为此使用 Node.JS,例如快递包裹。
【解决方案2】:

请更新至react-scripts@1.0.2
它为不使用 React 中的proxy 功能的用户解决了这个问题。

如果您确实使用proxy 功能,请follow these instructions

【讨论】:

【解决方案3】:

除了将域添加到.env 文件之外,还通过在我的/etc/hosts 中添加0.0.0.0 <domain> 解决了这个问题。

【讨论】:

  • 谢谢!这也是我的情况。我在.env 中也有一个HOST=local.companydomain.com,但需要在我的/etc/hosts 中添加0.0.0.0 local.companydomain.comReference to 0.0.0.0
【解决方案4】:

在您的.env 文件中添加主机,然后创建反应应用程序将您的主机,而不是localhost。如果不能解决问题,请在 .env 文件中添加 DANGEROUSLY_DISABLE_HOST_CHECK=true

别忘了重启开发服务器。

HOST=mydevserver.com

【讨论】:

    猜你喜欢
    • 2018-12-25
    • 2019-04-19
    • 2019-03-28
    • 1970-01-01
    • 2018-04-01
    • 2023-01-26
    • 2011-05-02
    • 2018-08-16
    • 2020-03-11
    相关资源
    最近更新 更多