ip.address()不适用于aws。如何以编程方式获取AWS EC2的IP地址?

时间:2016-11-29 08:39:23

标签: node.js amazon-ec2 webpack

我开发了一个带有Node / Express后端的React应用程序。它基于following starter kit.它在我的本地计算机上工作正常,但是当我在AWS上部署它时,它的IP地址不正确。

我的配置文件

    const ip = require('ip')
    server_host : ip.address(),
    server_port : process.env.PORT || 3000,

在本地计算机上运行npm start - 工作正常,以

开头
    app:bin:server Server is now running at 192.168.1.5:3000.

但是当我把它放在EC2(52.72.209.201)并开始它不起作用我得到日志

    app:bin:server Server is now running at 172.31.31.141:3000.

如果我在配置文件中硬编码我的实例的IP地址,它可以正常工作

    server_host : '52.72.209.201',
    server_port : process.env.PORT || 3000,

现在它启动并运行良好

    app:bin:server Server is now running at 52.72.209.201:3000.

如何删除硬编码的IP地址?

1 个答案:

答案 0 :(得分:1)

您应该可以从以下位置获取公共IP地址:

或:

您可以在shell脚本(例如启动脚本)中使用curl来获取它,例如存储在环境变量或文件系统上的某个文件中。或者您可以在Node中使用request

有关详细信息,请参阅: