Fork me on GitHub

Mac配置内网穿透

闲语:

  Java开发过程中,往往会对接第三方,而在对接过程中,双方间使用的最多的"通讯"方式就是异步通知。可是异步通知过程中,只能通知到外网地址,可是在调试过程我们都是在本地进行--使用的是内网地址,这就导致调试过程收不到彼此的通知。所以我们必须在本地配置IP地址映射,将我们的本地地址通过工具映射为外网。

内网穿透概念

  1.1 IP地址

  网络中唯一定位一台设备的逻辑地址,可以想象为我们家庭住址。

  当然,这个逻辑地址只是外网(公网)地址,并非我们电脑的ip地址(内网IP)。

  内网IP可以同时出现在多个不同的局域网络中,也就是说A公司的A员工的电脑ip为 192.168.8.51,B公司的B员工电脑ip也可以是 192.168.8.51;但是公网地址是唯一的,毕竟只有一个www(万维网)。  

  1.2 域名

  域名就是IP的别名,便于记忆,域名最终通过DNS解析成IP地址。

  可使用  “nslookup +域名”的方式查看该域名对应的公网ip地址,如下。

 

  DNS域名解析简单示例图如下

  

  1.3 Proxy

  Proxy即代理,主要分为正向代理与反向代理:

  正向代理

    正向代理隐藏了真实的请求客户端。服务端不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替来请求,某些“梯子”工具扮演的就是典型的正向代理角色。

  反向代理

    反向代理隐藏了真实的服务端,当我们请求 ww.baidu.com 的时候,就像拨打10086一样,背后可能有成千上万台服务器为我们服务,但具体是哪一台,你不知道,也不需要知道,你只需要知道反向代理服务器是谁就好了,ww.baidu.com 就是我们的反向代理服务器,反向代理服务器会帮我们把请求转发到真实的服务器那里去。

    Nginx就是性能非常好的反向代理服务器,用来做负载均衡。

  1.4 为什么需要内网穿透

  当内网中的主机没有静态IP地址要被外网稳定访问时可以使用内网穿透。

  1.5 内网穿透产品

  目前市面上的内网穿透产品有很多,比如 花生壳Nat123NATAPP等,有些是需要收费的,可自行选择。

 

Ngrok安装使用

  目前我比较喜欢的是Ngrok,首先它是开源(1.x开源,2.x不开源)并且可捕获和分析所有通道上的流量,便于后期分析与响应。

  下载地址 :https://ngrok.com/download 

  

  下载后直接双击解压,然后进入解压后的目录。

  然后输入相应的命令   ./ngrok http localhost:port --region=eu (换成需要的端口)

   当Session Status变为 online的时候,表示内网穿透已经配置好了,可以直接通过上面的公网地址访问了(上图的 http://ae60dd8c.ngrok.io)。当然,这个地址并不是固定的,每次启动ngork都会生成一个虚拟地址。

 

 

  

 

posted @ 2019-04-19 18:15  JackpotHan  阅读(2262)  评论(0编辑  收藏  举报