钉钉内网穿透之HTTP穿透

鉴于很多开发者在临时体验开发时往往没有公网域名或者公网IP,本工具提供了一个公网代理服务,目的是方便开发测试。

内网穿透示意图

场景介绍

案例一:ISV三方企业小程序的回调地址必须是公网域名或IP,对于大部分开发者来说,开发者无法在本地调试远程代码,对于回调URL校验不通过之类的问题无法追踪,只能不断远程部署查看log日志来调试修改。

案例二:企业通讯录同步过程中需要注册一个公网域名(或IP)的回调地址,用来接收钉钉上的企业通讯录信息变更。

内网穿透工具可以实现将一个公网域名映射到本地的 localhost 域名。

启动内网穿透

下载工具

使用 git 工具克隆下面仓库,命令如下:

git clone https://github.com/open-dingtalk/pierced.git下载后目录如下:

执行以下命令,启动工具

Windows执行以下命令:

# 说明:Windows需使用cmd工具打开命令行cd windows_64ding -config=ding.cfg -subdomain=abcde 8080

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 等

启动完客户端后,你访问 都会映射到 :8080/xxxxx。

注意:

需要访问的域名是 而不是:8080/xxxxx

启动命令的subdomain参数有可能被别人占用,尽量不要用常用字符,可以用自己公司名的拼音,例如:alibaba、dingding等。

可以在本地起个http-server服务,放置一个index.html文件,然后访问/index.html测试一下。

每次启动透传工具都要输入一长串的命令麻烦,于是编写了一个简单的脚本用于快速启动透传工具。脚本如下:

@echo offsetlocaltitle 钉钉HTTP/HTTPS透传set baseDir=%~dp0cd %baseDir%/windows_64:continueset /p port=Set local port (0~65535): ding.exe -config=ding.cfg -subdomain=hxstrive %port%set /p flag=Do you want to continue? (Y/N) if "%flag%"=="Y" goto continueif "%flag%"=="y" goto continue该脚本运行效果如下图:

参考资料:

?pnamespace=app