Node.js - 在 Amazon EC2 上获取主机 IP 地址
Posted
技术标签:
【中文标题】Node.js - 在 Amazon EC2 上获取主机 IP 地址【英文标题】:Node.js - Getting the host IP address while on Amazon EC2 【发布时间】:2013-08-16 05:27:34 【问题描述】:如何获取 Amazon EC2 上当前 Node.js 主机/服务器的 IP 地址(弹性 IP)?
调用 req.connection.address() 是没有用的,因为 EC2 使用弹性 IP。事实上,使用 ifconfig 命令显示的 IP 与用于从外部访问服务器的 IP 不同(这是我需要的)。如何自动获取弹性IP?
【问题讨论】:
【参考方案1】:在实例内部,您可以通过向http://169.254.169.254
发送请求来查询有关该实例的元数据。
更多信息可以在这里找到:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html
【讨论】:
【参考方案2】:阅读有关标头和弹性 IP 的信息,我建议headers['REMOTE_ADDR']
提供您正在寻找的地址(除非在负载平衡器后面)。
【讨论】:
【参考方案3】:您可以使用 API 中的 DescribeInstances 根据 documentation 使用过滤器 ip-address 来获取您的实例的公共 IP。
【讨论】:
以上是关于Node.js - 在 Amazon EC2 上获取主机 IP 地址的主要内容,如果未能解决你的问题,请参考以下文章
Amazon EC2 上 Node.js 的 CPU 利用率
如何在 AWS Lambda 中使用 Node.js 列出我的所有 Amazon EC2 实例?
从 Amazon AWS EC2 服务器上的 Node.js 连接到 Redis 服务器时出错
如何使用 Amazon EC2 实例为生产设置 node.js process.env 变量?