EC2上的Axios baseUrl,参考IP地址

时间:2018-10-15 13:34:53

标签: amazon-web-services amazon-ec2 axios next.js

我想在EC2实例上部署应用程序,但遇到axios调用问题。但是,在开发环境中一切正常,因为在本地主机上。将这个应用程序部署到EC2实例后,每当我按下停止按钮或网站上的任何其他按钮时,我都会遇到POST http://localhost:3000/stop 0 ()的问题。

使用next.js开发的整个应用程序,在那里我安装了axios,在开发过程中将其配置为

import axios from 'axios'

const instance = axios.create({
    baseURL: 'http://localhost:3000'
})

export default instance;

我知道我需要将此baseURL更改为EC2提供的IP地址,但是如何动态地执行操作,以便baseURL直接获取当前的全局IP地址?

或者我应该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您可以通过请求以下内容来检索EC2元数据信息:http://169.254.169.254/latest/meta-data/。您可以在https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html#instancedata-data-retrieval上阅读有关查询该端点的信息。您可以在上述端点的末尾添加local-ipv4,然后获取EC2实例的私有IPv4