【问题标题】:Deploying React Express and Node app to Heroku Proxy Error将 React Express 和 Node 应用程序部署到 Heroku 代理错误
【发布时间】:2020-07-23 18:52:16
【问题描述】:

过去,我通过在客户端 package.json 文件中使用成功地向 Heroku 启动了全栈应用程序。

“代理”:“http://localhost:3001

现在我得到一个“无效的主机头”,我确实通过删除代理以及使用以下代码实现 setupProxy.js 文件来修复该错误,但之后应用程序根本不会调用后端并出现错误.

const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = function(app) {
  app.use(
    '/api',
    createProxyMiddleware({
      target: 'http://localhost:3001',
      changeOrigin: true,
    })
  );
};

我想知道如何修复,或者最近 Heroku 中是否有任何更改以不允许客户端 package.json 文件中的代理?

【问题讨论】:

  • 没有充分的理由在 Heroku 的生产部署中运行两个 Web 服务器(前端和后端)。虽然很常见,但这仍然是错误的。在开发过程中只需要两台服务器,大概是在 Heroku 部署之前完成的。因此,只需将一台服务器(后端)部署到 Heroku,就不需要代理了。以project 为例。

标签: node.js reactjs express heroku proxy


【解决方案1】:

看起来这是一个看似无关的修复。我必须在 Heroku 中输入一些环境变量以允许服务器运行。如果没有这些变量,我相信服务器会因错误而停止,因此会慢慢下降并导致许多问题。长话短说,永远记住你在 Heroku 中的环境变量。

【讨论】:

  • 你能说得更清楚些吗?您必须输入哪些环境变量?我也遇到了同样的问题
  • 我最终添加了应用程序在 Heroku 上使用的每个 env 变量以使其工作。
猜你喜欢
  • 2016-11-20
  • 2020-01-09
  • 2018-01-25
  • 2017-11-27
  • 2017-09-12
  • 2018-09-25
  • 1970-01-01
  • 2014-12-13
  • 2021-04-21
相关资源
最近更新 更多