0

我部署了一个带有 EAR 的 Glassfish,其中包括一个我通过 Java Web Start 运行的 swing 应用程序,该应用程序通过 @remote 接口连接到我的 EJB。

我们有一个使用静态 IP 设置的服务器,我需要做的就是将 /etc/hostname 设置为我的主机名(xxcom),并且在我的 /etc/hosts 中我有:

127.0.0.1 本地主机 xxxx xxcom

很简单。应用程序运行良好。

但是,我们想迁移到 EC2。我有一个装有 Glassfish 的服务器,一切都很好。我有一个弹性 IP 指向它,我的域名指向它。都好。

该程序也可以通过 Java Web Start 正常下载和更新。

尝试从我的 Swing 应用程序连接到服务器时出现问题。它通过我不太了解的 CORBA 连接。

我无法设置 /etc/hosts 文件,因为弹性 IP 不是 IP 地址。亚马逊为服务器分配本地地址。我无法将 /etc/hosts 设置为其中之一,因为如果重新启动它们,它会改变。而且我不想每次都编辑它。

有谁知道如何绕过或修复它,以便 Glassfish 不需要它?它正在杀死我。

4

1 回答 1

0

您应该仍然可以为您的 eIP 添加一个条目到您的主机文件中 - 您尝试过吗?

EC2 实例都有一个公共 IP 和一个私有 10.XXX 地址。eIP 替换了公共 IP 地址并且是固定的(直到您解除它的关联)。

AWS 的另一种选择是部署到 VPC,它也允许您拥有固定的私有 IP。亚马逊有一些关于 VPC 的非常好的文档

简而言之,您获得的内容与本地网络相当,因此您只需选择您的 CIDR 块并创建子网,例如 10.0.1.0/24。现在,当您启动 EC2 实例时,您可以启动该 VPC 子网并选择私有 IP。除了您的 eIP,您现在还永久设置了两个 IP 地址(公共和私有),除非您决定自己更改它们(无论出于何种原因)。

如果需要,您甚至可以添加辅助 IP 地址。

于 2013-08-02T10:06:24.860 回答