为什么heroku无法在我的React应用程序中使用代理?

时间:2019-09-19 17:13:52

标签: node.js reactjs express heroku mongoose

我有一个简单的注释应用程序,该应用程序在客户端文件夹中使用react(create react app),该节点具有节点表达猫鼬后端。如果我尝试上传到heroku,则由于客户端文件夹中package.json中的代理(“ proxy”:“ http://localhost:3001”)而拒绝了它。如果我摆脱了代理,它将毫无问题地上传到heroku,但是因为它不存在,所以它不会与后端通信,因此没有任何作用。当使用代理推送到heroku时,它将构建,但是应用程序给我“无效的主机标头”。我该如何解决这个问题?我所尝试的只是删除代理。

3 个答案:

答案 0 :(得分:1)

您是否在应用中使用固定端口? Heroku为您分配了必须绑定的动态端口,因此您不能简单地使用3001这样的固定端口。

当在Heroku上运行时,应绑定到process.env.PORT。参见runtime principles

答案 1 :(得分:0)

有一个可解决此问题的构建包,可以通过create-react-app进行检查来提供更好的体验:

只需运行以下命令即可创建您的应用程序:

heroku create <app name> --buildpack mars/create-react-app

答案 2 :(得分:0)

所以事实证明,我的models文件夹中有一个拼写错误的index.js文档,这就是导致Invalid Host Header错误的原因。我有一个大写字母,而不是小写...