java

内网穿透—实现外网访问本地IP接口

概念–所谓内网穿透,简单来说就是提供一个域名绑定内网IP和端口来实现外网访问内网。

业务场景,由于本人从事物联网开发经常需要对接一下硬件,人在公司但是需要和工地的人员进行设备调试,
  传统的本地项目运行后的访问地址是localhost+端口号或者局域网IP+端口号比如

http://192.168.0.119:8765/api/smartsite/capture/captureImageInfo/xjh,这样子的接口外网是访问不到的,但是实现内网穿透后会获得一个外网域名,比如 xjh.vaiwan.com 这样子外网可以通过 http://xjh.vaiwan.com/api/smartsite/capture/captureImageInfo/xjh 来访问本地接口,这里需要注意外网域名已经包含了端口号 xjh.vaiwan.com==192.168.0.119:8765 有些时候我们只是需要测试或者是联调一下接口,不可能动不动就打包发布到服务器,这样做效率太低了,哪怕修改一个标点符号都得重新打包这可真是太麻烦了,所以内网穿透是最佳选择。

下面介绍一下如何使用钉钉提供的免费内网穿透工具

1.下载地址:https://github.com/open-dingtalk/pierced.git,下载后解压会出现两个文件

curl本地接口 Empty reply from server 调用本地接口_内网穿透


2.注意不能直接双击运行,在当前目录下打开cmd命令窗口然后输入

start ding.exe -config=ding.cfg -subdomain=xjh 8765

xjh是你自己指定的外网域名前缀可以随意修改,8765是你接口的端口号,根据你自己的接口来设置,嫌输入命令麻烦的在当前文件夹新建txt文件将上面的命令粘贴,如何右键重命名为run.bat就可以直接运行了

curl本地接口 Empty reply from server 调用本地接口_java_02


文件内容如下,注意后面的xjh 8765根据自己的接口来定义

curl本地接口 Empty reply from server 调用本地接口_java_03


xjh:你外网域名前缀,可以随意修改

8765:你项目的运行端口,一定要改!!!

输入命令运行或者双击run.bat文件后出现如下则表示内网穿透成功!

curl本地接口 Empty reply from server 调用本地接口_内网穿透_04

然后通过http://xjh.vaiwan.com/api/smartsite/capture/captureImageInfo/xjh就可以实现外网访问到你本地接口了
下面给上内网穿透百度网盘地址链接:https://pan.baidu.com/s/1GBV8uckRkhfASkNJm2-j-g
提取码:6666