【发布时间】:2018-03-15 21:17:55
【问题描述】:
我正在部署一个也使用 nodeJS 的 Django 应用程序 就这样,我偶然发现了
https://blog.heroku.com/heroku-django-node
我能够设置 buildpacks 和 procfiles 但我在设置 node-http-proxy 时遇到问题
所以我想这部分让我感到困惑(来自上面的链接):
当然,web dyno 上仍然只有 1 个进程可以绑定到 PORT。通过添加一个环境变量(我们称之为 DJANGO_PORT)并将 node-http-proxy 添加到我们的节点脚本中,我们能够将节点绑定到 PORT 并将所有正常的 Web 流量代理到 Django 超过 127.0.0.1。生成的 Procfile 看起来像这样:
我已经将 env 变量添加到我的 heroku 应用程序中。
2 个问题
- 这是您在 server.js 中正确绑定 PORT 的方式吗? 我有:
const PORT = process.env.PORT httpProxy.createProxyServer({target:'app_url:8080'}).listen(PORT);
- 8080 是我的 DJANGO_PORT,我希望这也会将流量路由到我的 django 服务器?
我收到上述错误:
/app/node_modules/http-proxy/lib/http-proxy/index.js:119
throw err;
^
Error: connect ECONNREFUSED {ip_address}:8080
at Object._errnoException (util.js:1022:11)
at _exceptionWithHostPort (util.js:1044:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1198:14)
需要帮助,至少要知道我的想法或理解是否正确。 只是想知道我的思维方向是否正确
【问题讨论】:
标签: node.js django heroku proxy