如何通过免费的内网穿透工具,让外网访问你本地的服务器?

很多开发者在开发个人项目的前期,可能都会遇到没有公网域名或者公网IP,导致调试受限的问题 。虽然,购买一个服务器,注册一个域名,很便宜,也很简单,但是如果能通过免费的内网穿透工具,让外网访问你本地的服务器是不是更好呢?
下面我就来介绍下钉钉的免费内网穿透工具 。虽然,钉钉官方说此工具主要是用来方便开发者测试对接钉钉,但是如果你只是临时用做其他合法用途也未尝不可 。
实现原理

如何通过免费的内网穿透工具,让外网访问你本地的服务器?

文章插图
 
上图是钉钉提供的内网穿透示意图 。从图中我们可以获得两个关键信息,一个是公网域名abcde.vaiwan.com,一个是本地服务127.0.0.1:8080,这两个关键信息共同构成了公网与内网的映射,也即当我们访问abcde.vaiwan.com时,实际上就是访问我们本地的服务127.0.0.1:8080 。
使用方法钉钉的这个内网穿透工具支持Window系统、mac系统和linux系统 。
1、下载代码:
git clone https://github.com/open-dingtalk/pierced.git2、进入对应系统的代码目录,执行如下命令,启动内网穿透工具,以mac为例:
cd mac_64chmod 777 ./ding./ding -config=./ding.cfg -subdomain=abcde 8080参数说明:
参数
说明
-config
内网穿透的配置文件,按照命令示例固定为钉钉提供的./ding.cfg,无需修改
-subdomain
您需要使用的域名前缀,该前缀将会匹配到“vaiwan.com”前面,例如你的subdomain是abcde,启动工具后会将abcde.vaiwan.com映射到本地 。
端口
您需要代理的本地服务http-server端口,例如你本地端口为8080等
启动后,界面如下图所示:
如何通过免费的内网穿透工具,让外网访问你本地的服务器?

文章插图
 
此时,所有对
http://abcde.vaiwan.com/xxxxx的访问都会映射到 http://127.0.0.1:8080/xxxxx上 。
如何通过免费的内网穿透工具,让外网访问你本地的服务器?

文章插图
 
不过前提是,我们的内网要成功注册到钉钉服务器 。如上图所示 。
如何通过免费的内网穿透工具,让外网访问你本地的服务器?

文章插图
 
【如何通过免费的内网穿透工具,让外网访问你本地的服务器?】当我们的内网成功注册到钉钉服务器后,钉钉服务器就可以将我们的请求数据通过消息通知的方式发送到内网,达到内网穿透的目的 。如上图所示 。
注意
  • 需要访问的域名是http://abcde.vaiwan.com/xxxxx 而不是http://abcde.vaiwan.com:8080/xxxxx
  • 启动命令的subdomain参数有可能被别人占用,尽量不要用常用字符,可以用自己公司名的拼音,例如:alibaba、dingding等 。
  • 可以在本地起个http-server服务,放置一个index.html文件,然后访问http://abcde.vaiwan.com/index.html测试一下 。




    推荐阅读