我部署了一个部署了EAR的Glassfish,其中包含一个我通过Java Web Start运行的swing应用程序,它通过@remote接口连接到我的EJB。
我们设置了一个带有静态IP的服务器,我需要做的就是将/ etc / hostname设置为我的主机名(x.x.com),并在我的/ etc / hosts中设置:
127.0.0.1 localhost x.x.x.x x.x.com
非常简单。应用程序运行正常。
但是,我们希望迁移到EC2。我有一台Glassfish服务器,一切都很棒。我有一个弹性IP指向它,我的域名指向它。都好。
程序也可以通过Java Web Start下载和更新。
尝试从我的swing应用程序连接到服务器时出现问题。它通过CORBA连接,我不太了解。
我无法设置/ etc / hosts文件,因为弹性IP不是IP地址。亚马逊为服务器分配本地地址。我无法将/ etc / hosts设置为其中之一,因为如果它们重新启动它将会改变。而且我不想每次都编辑它。
有谁知道如何绕过这个或修复它,以便Glassfish不需要它?它杀了我。
答案 0 :(得分:0)
你仍然可以为你的eIP的主机文件添加一个条目 - 你试过吗?
EC2实例都具有公共IP和私有10.X.X.X地址。 eIP取代了公共IP地址并且已修复(直到您解除关联)。
AWS的替代方案是允许您拥有固定的私有IP,即可部署到VPC。 Amazon have some very good documentation on VPCs
简而言之,您所获得的内容与本地网络相当,因此您可以选择CIDR块并创建子网,例如10.0.1.0/24。现在,当您启动EC2实例时,您可以启动到该VPC子网并选择专用IP 。与您的eIP一起,您现在可以永久设置两个IP地址(公共和私人),除非您决定自己更改(无论出于何种原因)。
如果需要,您甚至可以添加辅助IP地址。