EC2上的axios baseUrl,参考Ip地址

Axios baseUrl on EC2, reference Ip address

我想在 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 地址?

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

您可以通过以下请求检索 EC2 元数据信息:http://169.254.169.254/latest/meta-data/ . You can read up on what you can get from querying that endpoint here : https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html#instancedata-data-retrieval。在您的情况下,您可以在上面的端点末尾添加 local-ipv4,您将获得 EC2 实例的私有 IPv4