问题描述:report项目提供rpc接口,mobile项目调用其rpc接口,本地用一个tomcat同时运行两个项目,发现本地环境rpc不能互调,查看eds发现接口地址有被注册,但是没被引用,折腾半天找不到原因(有大神请不吝赐教)。于是,将两个项目部署到测试环境,同样的操作,发现还是无法调通,查看eds中测试环境的ip地址,看到有两个端口引用,如图(此图是已经调通的图,服务数量正常,之前为0):
一番研究,发现是测试环境防火墙对10112和8080端口做了拦截,造成无法访问,于是用Xshell关闭防火墙对这些端口的拦截命令如下(vi /etc/sysconfig/iptables):
然后添加文本如下(-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10112 -j ACCEPT):
提交,保存,然后重启防火墙,命令如下(service iptables restart):
再通过mobile项目访问report提供的rpc接口就可以访问成功!