Java RMI遇到的Connection refused to Host: 127.x.x.x/192.x.x.x/10.x.x.x问题解决方法

问题故障解决记录 -- Java RMI Connection refused to host: x.x.x.x ....

在学习JavaRMI时,我遇到了以下情况


问题原因: 可能大家的host是10或者192的私有地址,我估计都是和我一样的一个原因:/etc/hosts文件的配置问题(我是ubuntu系统下的实验环境),也就是主机名称和IP地址的映射关系导致的问题


问题分析: 我的Server代码是放在云服务器上的,云服务器的/etc/hosts内容中,有这么一行:127.0.1.1 localhost.localdomain VM1(这里的VM1是我的主机名,你们可以看一下自己的是啥)。问题就出在这个映射关系上,我的Client去发起请求后,会将Server那边的地址解析为本地127.0.1.1地址,而不是公网地址,导致连接不上。


问题解决 :把映射关系给改了,将上面127.0.1.1那行的VM1去掉(结合你们自己的主机名来改,你们的应该不是VM1),单独加一行主机名和公网地址映射。比如:x.x.x.x(公网IP) VM1


修改完后记得重启一下你的Server所在系统的网络!