AWS-Java获得的IP地址每1分钟更改一次

AWS-Java获得的IP地址每1分钟更改一次,java,tomcat,amazon-web-services,amazon-ec2,ip-address,Java,Tomcat,Amazon Web Services,Amazon Ec2,Ip Address,我运行一个Java应用程序,它提供了在线工具。该应用程序在Ubuntu下的AWS EC2实例上运行。有弹性IP,AWS控制台上报的外部和私有IP都是稳定的。前端访问和证书工作正常 但是,有一个问题与Java检测到的IP地址有关。申请许可证流程使用IP地址生成主机id,我发现申请许可证流程获得的IP地址不稳定-每1分钟更改一次,这会导致许可证不匹配,因为许可证与IP地址关联 使用下面由应用程序供应商提供的代码,我记录了Java获得的IP地址,因为它们每分钟都在变化,与外部或私有IP地址完全不同。我

我运行一个Java应用程序,它提供了在线工具。该应用程序在Ubuntu下的AWS EC2实例上运行。有弹性IP,AWS控制台上报的外部和私有IP都是稳定的。前端访问和证书工作正常

但是,有一个问题与Java检测到的IP地址有关。申请许可证流程使用IP地址生成主机id,我发现申请许可证流程获得的IP地址不稳定-每1分钟更改一次,这会导致许可证不匹配,因为许可证与IP地址关联

使用下面由应用程序供应商提供的代码,我记录了Java获得的IP地址,因为它们每分钟都在变化,与外部或私有IP地址完全不同。我发现它们解析为AWS服务器可能是DNS服务器?位于美国西海岸和美国东海岸。该实例位于欧盟西部

import java.net.*;

class IPTest {
    public static void main(String[] args) {
        getIPAddresses();
    }

        public static void getIPAddresses() {
                try {
                        InetAddress in = InetAddress.getLocalHost();
                        InetAddress[] all = InetAddress.getAllByName(in.getHostName());
                        for (int i = 0; i < all.length; i++) {
                                System.out.println(all[i].getHostAddress());
                        }
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }
}

我不知道这是否是某种AWS问题、DHCP问题、应用程序问题,或者Tomcat是否配置不正确。我非常感谢您的帮助。

这个问题现在已经解决了

Java以一种相当复杂的方式获取IP地址,它使用主机名来获取IP地址。主机名指向已移动到AWS Route53的域。Java被返回内部AWS Route53 IP地址,该地址每1分钟更改一次。将主机名更改为EC2专用DNS解决了问题,Java现在可以正确返回EC2专用IP地址