首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么将URL指定为'0.0.0.0‘允许我的NestJS-fastify应用程序部署到Heroku?

为什么将URL指定为'0.0.0.0‘允许我的NestJS-fastify应用程序部署到Heroku?
EN

Stack Overflow用户
提问于 2021-12-24 14:59:53
回答 1查看 1.6K关注 0票数 0

当我试图将我的NestJS应用程序部署到Heroku时,我看到了错误Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch

为什么将url设置为0.0.0.0 使其工作?

代码语言:javascript
复制
const port = process.env.PORT || 5000;
await app.listen(port, '0.0.0.0');

上下文:

  • 当我在没有0.0.0.0的情况下部署时,我的应用程序说Listening at http://127.0.0.1:<randomNumber>
  • 当我用0.0.0.0进行部署时,我的应用程序说Listening at http://127.0.0.1:<randomNumber>
  • 节点版本: 16.13.0
  • NestJS
  • 中间件: Fastify
  • 设置NPM_CONFIG_PROD=false
  • 无cors
  • 不戴头盔
代码语言:javascript
复制
"@nestjs/common": "^8.0.0",
"@nestjs/core": "^8.0.0",
"@nestjs/platform-fastify": "^8.0.11",
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-25 00:50:54

127.0.0.1 (也称为localhost )是一种回环机构,它允许服务在本地机器(即您的膝上型计算机/开发服务器)上侦听,而不需要互联网甚至网络接口。

由于这个127.0.0.1接口是本地的和内部的,所以Heroku不能从用于向dyno发送请求的网络路由器连接到它;它需要一个面向internet的外部网络接口。这就是0.0.0.0发挥作用的地方。这意味着服务应该侦听所有网络接口上的请求,其中包括Heroku期望发送请求的请求。这意味着Heroku可以使用其中一个面向外部的网络接口来实际连接和路由到您的服务。

欲了解更多信息,请访问看看这个线程

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70474154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档