dubbo + zookeeper本地发布服务调用时正常
将dubbo服务发布到服务器上,本地应用启动时报错:
client reconnect to 192.168.30.110:20880 find error . url: dubbo://192.168.30.110:20880/xxxxxxxxxx类似错误,大致意思是无法连接,或者找不到对应的服务
服务配置信息如下:
<dubbo:protocol name="dubbo" port="6347" host="127.0.0.1" />解决方案:
1.发现ip为192.168.30.110,说明暴露的是服务器本地ip,本地上如果不能直接和服务器内网通信则无法连接
2.查找相应资料,博客解释dubbo会默认根据主机名称获取ip
3.将hosts文件配置映射,新加一行 :外网ip 主机名称,将主机名称映射到外网ip
4.windows下可通过计算机右键属性查看计算机全名就是主机名称,linux下可通过hostname命令查看主机名称
5.修改完成后重新启动dubbo服务,打开dubbo控制台查看发现此时暴露的已经是外网ip,再启动消费端应用发现可以正常访问
6.一般情况物理机这样设置之后可以直接访问,由于我部署的服务器是虚拟机,访问的端口是外网端口再映射到内网,所以这里我需要运维将内网端口和外网端口保存一致才可以访问,比如原来是服务器的内网端口20880对应外网端口20888,实际上我调用dubbo接口需要访问20888,这里需要统一,比如将内外网端口都统一为20880
Dubbo暴露外网IP
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...