博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决由于内外网导致的无法访问dubbo上面的服务
阅读量:6218 次
发布时间:2019-06-21

本文共 696 字,大约阅读时间需要 2 分钟。

  hot3.png

内网: 172.21.16.8

外网:8

在服务器部署了dubbo服务和 一个提供方 

启动后dubbo看到的提供方的ip是172.21.16.8:20880

 

这样消费服务从其他服务器访问该dubbo服务,就无法调用,由于172.21.16.8是内网。

这是由于dubbo绑定的本机ip

InetSocketAddress address = new InetSocketAddress(port);  Channel serverChannel = bootstrap.bind(address);  public InetSocketAddress(int port) {     this(InetAddress.anyLocalAddress(), port);  }

 

InetAddress.anyLocalAddress()一般就是0.0.0.0/0.0.0.0,如果我们有两块网卡,一块内网,一块外网,那么都能访问这个socket,这通常是不安全的。

InetAddress.getLocalHost().getHostAddress()取回的 结果是 hostname 这个结果,结果拿到的就是内网172.21.16.8

 

要解决这个问题需要在/etc/hosts 加入外网ip

140.143.38.68 test127.0.0.1  localhost ::1         localhost localhost.localdomain

 

这样hostname  取到的结果就是外网IP

 

 

 

转载于:https://my.oschina.net/jywm/blog/1797307

你可能感兴趣的文章
《Python密码学编程》——2.7 在线跟踪程序
查看>>
雾里看花之 Python Asyncio
查看>>
Velocity官方指南-使用Velocity
查看>>
jQuery获取数组对象的值
查看>>
Android+struts2+json方式模拟手机登录功能
查看>>
批量生成 htpasswd 密码
查看>>
大型网站技术架构之秒杀系统架构设计
查看>>
一、大型网站技术架构演化
查看>>
NVIDIA Jetson TK1学习与开发(十):人脸检测(Face Detection)
查看>>
PHP读取日志里数据方法理解
查看>>
#大学#汇编指令查询
查看>>
Linux_CentOS-服务器搭建 <一>
查看>>
mybatis3.2.6整合spring4.0和springMVC4.0开发
查看>>
浅谈C之精华---指针
查看>>
主备不一致:Table definition on master and slave does not match
查看>>
通过JVM日志来进行安全点分析
查看>>
Linux makefile 教程 非常详细,且易懂
查看>>
我的 Android 开发实战经验总结
查看>>
java springboot b2b2c shop 多用户商城系统源码-eureka 项目构建过程(八)
查看>>
mono for android software自动更新
查看>>