解决dubbo生产者提供的服务地址显示为[内网IP:20880],导致消费者在使用外网IP连接dubbo服务失败

前置条件:Cent OS系统

查询了许多资料博客,当下方法最简洁实用

解决前:

服务IP显示为内网IP,原因:dubbo消费者向zookeeper注册中心寻找服务时,注册中心默认将生产者所在服务器内网IP发送给消费者,而生产者内网IP地址对于消费者不可达,所以消费者找不到生产者提供的dubbo服务,报出com.alibaba.dubbo.remoting.RemotingException: client(url: dubbo://[生产者内网IP]:20880/com.xxx.xxx.xxx.service.xxxService?...异常 

 解决后:

 解决办法:

修改生产者所在服务器hosts文件,将[内网IP 服务器名称]那一行配置将内网IP改为外网IP,若没有这行配置则添加[外网IP 服务器名称]配置

查询服务器名称命令:hostname

查询服务器内网IP命令:ifconfig -a

查询服务器外网IP命令:curl ifconfig.me

你可能感兴趣的:(遇到的坑)