Java RMI无法连接到注册表

时间:2012-01-10 16:00:54

标签: java amazon-ec2 rmi

我有一个带有内部注册表的服务器进程(在Amazon EC2实例上)。服务器正确启动,注册表将自身绑定到端口1099.如果我使用netstat,我可以看到它已绑定:

tcp6     0      0    :::1099    :::*    LISTEN     0     3258   765/java

此外,我已将Port 1099 TCP添加到实例的安全组。如果我在主机上启动nmap,它会将端口列为open:

Host is up (0.061s latency).
Not shown: 997 filtered ports
PORT     STATE  SERVICE
22/tcp   open   ssh
1098/tcp closed unknown
1099/tcp open   unknown

但是,客户端无法连接到服务器。过了一会儿,我得到一个 java.net.ConnectException:连接超时异常。

我错过了什么?是否还需要打开其他端口?

2 个答案:

答案 0 :(得分:0)

您需要确保导出的对象使用与注册表(或其他可见端口)相同的端口。您很可能是连接到注册表,然后无法连接到导出对象的端口。最后 - 我不是非常熟悉ipv6 - 但是你应该验证你是绑定到外部网络接口而不是环回接口。

答案 1 :(得分:0)

嗯,我很确定我必须打开另一个端口。因为当我为传入流量打开所有端口时,它工作正常。

由于这只是我使用的测试设置,并且只是将传入的流量限制在众所周知的来源。