前言
在开发过程中,有时候需要外网可以直接调用到本地的开发环境服务(比如在做微信测试调试的时候),这时候就需要用到内网映射工具,即把内网的服务端口映射到外网可以访问。
其他工具 ngrok , natapp 的问题
之前也找过很多工具,例如 ngrok , natapp 他们都有各种各样的问题,比如 需要在网站注册,配置特别麻烦, 一次只能开一个,地址不固定(IP变了或者电脑重启了二级地址就变了),固定的要收费等等各种问题,之前也是坚持着用了一段时间,偶然一次在项目中接入钉钉开放平台的时候,发现钉钉开发团队开放了这么一个工具,真的非常的赞。
钉钉内网映射
- 可以自己定义前缀指向指定的端口号。
- 重启服务或者ip修改后地址不会变化。
- 不需要去网站注册绑定。
- 可以同时开启多个映射
映射示意图(搬运钉钉开放平台)
方法
下载工具
git clone https://github.com/open-dingtalk/pierced.git
启动工具
执行命令“./ding -config=./ding.cfg -subdomain=域名前缀 端口”
windows
ding -config=ding.cfg -subdomain=test80 80
可编辑一个 bat 文件复制进去直接运行
mac
cd mac_64
chmod 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
注意
1.你需要访问的域名是http://abcde.vaiwan.com/xxxxx 而不是http://abcde.vaiwan.com:8080/xxxxx
2.你启动命令的subdomain参数有可能被别人占用,尽量不要用常用字符,可以用自己公司名的拼音,例如:alibaba、dingding等。
3.可以在本地起个http-server服务,放置一个index.html文件,然后访问http://abcde.vaiwan.com/index.html测试一下。