如何为 ElasticBeanStalk 中托管的 NodeJs 应用程序指定端口?

Posted

技术标签:

【中文标题】如何为 ElasticBeanStalk 中托管的 NodeJs 应用程序指定端口?【英文标题】:How to specify port for NodeJs application hosted in ElasticBeanStalk? 【发布时间】:2018-05-17 15:25:12 【问题描述】:

ElasticBeanStalk 中的端口如何工作? 我有一个 NodeJs/ExpressJS 应用程序,它将部署在 ElasticBeanStalk 中。

ElasticBeanStalk 具有用于附加 SSL 证书的负载均衡器。 我应该从我的 nodejs 应用程序中指定端口吗?可以是任何端口吗? 或者弹性豆茎对此有一些特定的端口? 有人可以对此进行一些说明吗? 我认为弹性豆茎前面有一个默认值。那么这里指定了端口吗?

【问题讨论】:

【参考方案1】:

您应该使用process.env.PORT 从环境变量中获取端口。 Elastic Beanstalk 将为您设置。 外部端口 80 将被打开,并将被路由到 Elastic Beanstalk 上配置的端口。 使用 SSL 的负载均衡器可能会将流量从端口 443 转发到 Elastic Beanstalk。

查看更多in these docs。

【讨论】:

如果我愿意,我可以使用不同的端口吗? 您可以在反向代理配置中进行配置。你为什么要这样做呢? 我打算从 node js 启动一个多端口应用程序。两台服务器监听不同的端口。你能帮忙配置一下吗? 我很乐意为具体问题提供帮助。您要在同一个 Elastic Beanstalk 配置上运行两台服务器吗?是不是同一个节点服务器监听两个不同的端口?

以上是关于如何为 ElasticBeanStalk 中托管的 NodeJs 应用程序指定端口?的主要内容,如果未能解决你的问题,请参考以下文章

Rails:如何为 AWS Elasticbeanstalk 应用程序获取 puma 3.11?

如何为图像使用托管(统一)内存?

如何为托管对象的关系触发故障

如何为 Web 应用程序托管音频文件

如何为 SOA 有效管理/托管许多 WCF 服务

如何为自托管 WCF 服务启用跨域调用