内网穿透用于微服务eureka跨网络通信

图片发自简书App

场景

开发调试时,我们希望其他人可以访问我们电脑的服务。例如微信公众号开发。

其实微服务的调试更需要这个。例如spring cloud中将本地服务注册进远程eureka,其他服务是没有办法调用我们的服务的。如果你不知道为啥不能调用,那么我试着跟你再解释一遍局域网的概念。

#解释

我看都知道电脑连接网络后会自动分配一个IP,那么其他人可以通过这个IP访问我们电脑上的服务吗?

答案是可以,但是有一个限制必须在同一网络中,就说我们经常说的可以ping通。


了解一点网络的同学知道,我们电脑的ipconfig获取到的信息是局域网的IP,如果需要访问外部网络,我们真正使用的IP是运营商网关的IP。


我见过一些同事,问他的IP是什么,他在百度上搜索说找到了自己的IP,这里应该是运营商的网关地址。

如何做才能

目前我知道的几种方法

1.向运营商申请固定IP地址。但是有些运营商不愿意给你。突然有一天和同事讨论,使用云服务做开发测试环境,付了不少钱买到配置很差的机器,只不过是换来一个固定IP的服务器而已。

2.ngrok。开源免费,tcp代理需要付费。也可以自己搭建私有的服务器。

3.花生壳之类的收费软件。

我的经历

我一直想找到一个软件可以实现这样的功能,可以让其他人访问我计算机上的服务。开始使用过ngrok,还算比较方便。

eureka注册的实例,使用IP,并且使用自定义的地址和端口。通过端口转发可以实现夸网络的微服务访问。

eureka使用的配置

server:

  port: 10011

eureka:

  client:

    service-url:

    defaultZone: http://eureka/eureka/

  instance:

    prefer-ip-address: true

    ip-address: 转发的IP

    nonSecurePort: 转发的端口

这段配置看似简单,很多书上都没有写,令人感动的是有几篇博客给出了参数说明。通过eureka源码里面逻辑,展示出确实可以这么使用。我就觉得没有跨网络的微服务就是耍流氓,因为如果使用了微服务,加上使用容器技术,网络的情况确实更加复杂,和单机的调用有了不少区别。

开源的实现

我找了很久一直没有合适的答案,突然有一天发现了一个好的项目,码云上的端口转发。地址http://git.oschina.net/matrixy/java-port-forwarding。

代码书写的很直接,我尝试阅读并搞明白了部分逻辑。

原理

假设我们需要把一台局域网的80端口暴露出来,我们利用公网服务器的2222端口来转发,那么流程是这样的。这样我们就可以代理访问局域网的服务了。

图片发自简书App

感悟

学习其他人开源项目真是一件美好的事情,这个项目的matrixyhttp://git.oschina.net/matrixy还有更好项目,推荐大家关注。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,444评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,421评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,363评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,460评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,502评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,511评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,280评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,736评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,014评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,190评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,848评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,531评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,159评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,411评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,067评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,078评论 2 352

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,644评论 18 139
  • 名词延伸 通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。如果把IP地址比作一间房子...
    杨大虾阅读 20,594评论 2 57
  • 前言 基于 Docker 的容器技术是在2015年的时候开始接触的,两年多的时间,作为一名 Docker 的 De...
    Java架构阅读 8,660评论 2 144
  • 做任何事情都要坚信三点:一是兴趣,只有养成自己的兴趣,内心才有坚定的追求。二是困难,遭受的困难越多让自己成长的越快...
    一颗星火阅读 117评论 0 0
  • 画不动了,作为一个上班狗~~真心是累啊 未完待续~~ 今天第一天上班,工作真心很棒。很喜欢
    山栗也阅读 331评论 0 0