钉钉内网穿透之HTTP穿透

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

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

内网穿透示意图

钉钉内网穿透之HTTP穿透

场景介绍

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

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

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

启动内网穿透

下载工具

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

git clone https://github.com/open-dingtalk/pierced.git

执行以下命令,启动工具

Windows执行以下命令:

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

MAC执行以下命令:

cd mac_64
chmod 777 ./ding
./ding -config=./ding.cfg -subdomain=abcde 8080

启动后界面如下图所示:

钉钉内网穿透之HTTP穿透

参数说明:

  • -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测试一下。

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

@echo off
setlocal
title 钉钉HTTP/HTTPS透传
set baseDir=%~dp0
cd %baseDir%/windows_64

:continue
set /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 continue
if "%flag%"=="y" goto continue

该脚本运行效果如下图:

钉钉内网穿透之HTTP穿透

参考资料:https://developers.dingtalk.com/document/resourcedownload/http-intranet-penetration?pnamespace=app

睡眠和休息丧失了时间,却取得了明天工作的精力。 —— 毛泽东
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号