用dubbo时遇到的坑之消费者找不到提供者之服务器端采用内网IP

用dubbo时,在本地环境的时候一切正常,当转到服务器环境时,发现消费者提示找不到dubbo的地址。

查看报错信息,提示寻找服务提供者的dubbo协议地址为服务器的内网ip。

进入dubbo-admin查看服务提供者信息,发现提供者的IP地址为服务器的内网IP,找到原因所在。

dubbo默认服务提供方的IP为内网IP,当在内网环境的时候,消费者访问内网IP没问题,但当服务提供者注册到服务器时,dubbo提供的仍然是服务器的内网地址,当消费者访问服务器的内网IP来获取服务,肯定访问不到。

解决方法:

修改服务器的hosts文件 vi /etc/hosts,将本机的名称#hostName#映射到服务器的公网IP即可。

重启注册中心(zookeeper),重启服务提供者。

重启后进入dubbo-admin查看,服务提供者IP已经是公网IP,重启服务消费者,已经可以正常启动,并调用服务。

至此,问题解决。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值