繁体   English   中英

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

[英]ip.address() does not work on aws. How to get the IP address of AWS EC2 programmatically?

我用Node / Express后端开发了一个React应用程序。 它基于以下入门工具包。 它在我的本地计算机上运行良好,但是当我在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地址?

您应该能够从以下位置获取公用IP地址:

要么:

您可以在外壳程序脚本(如启动脚本)中使用curl来获取它,例如将其存储在环境变量或文件系统上的某个文件中。 或者,您可以在Node中使用请求

有关更多信息,请参见:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM