钉钉微应用内网穿透 映射本地H5页面

这篇博客介绍了钉钉提供的内网穿透工具,旨在帮助开发者在没有公网域名或IP的情况下进行开发和测试。通过指定的命令行工具,用户可以将公网域名映射到本地服务,实现如企业小程序回调地址验证、通讯录同步回调等场景的本地调试。文章详细阐述了使用步骤和注意事项,并提供了测试示例。
摘要由CSDN通过智能技术生成

内网穿透之HTTP穿透

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

注意 

本工具不保证稳定性,仅适用于开发测试阶段,禁止当作公网域名使用。如线上应用使用本工具造成稳定性问题,后果由自己承担。如使用本工具传播违法不良信息,钉钉将追究法律责任。

内网穿透示意图

内网穿透

场景介绍

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

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

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

启动内网穿透

  1. 下载工具。

    git clone https://github.com/open-dingtalk/pierced.git
  2. 启动工具,执行命令“./ding -config=./ding.cfg -subdomain=域名前缀 端口”,以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等

    window命令需要执行:cd windows_64
    ding -config=./ding.cfg -subdomain=abcde 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测试一下。

参考 内网穿透(测试版) - 钉钉开放平台

要实现内网穿透映射多个本地端口,可以使用一些工具,例如 ngrok、frp 等。这里以 ngrok 为例,介绍如何映射多个本地端口。 1. 下载并安装 ngrok,可以到官网 https://ngrok.com/ 下载对应系统版本的 ngrok。 2. 注册并登录 ngrok,这样才能获取到使用 ngrok 的令牌。 3. 在命令行中输入以下命令,启动 ngrok: ``` ngrok authtoken <your_auth_token> ngrok tcp <local_port1> ngrok tcp <local_port2> ngrok tcp <local_port3> ``` 其中,`<your_auth_token>` 是你在 ngrok 注册后获取到的令牌,在 ngrok 控制台中可以找到;`<local_port1>`、`<local_port2>`、`<local_port3>` 是你需要映射的本地端口号,可以根据实际情况自行修改。 4. ngrok 启动后,会显示映射公网地址和端口号,例如: ``` Forwarding tcp://0.tcp.ngrok.io:12345 -> localhost:80 Forwarding tcp://1.tcp.ngrok.io:23456 -> localhost:8080 Forwarding tcp://2.tcp.ngrok.io:34567 -> localhost:3306 ``` 这样就完成了多个本地端口到公网映射,可以用公网地址和端口号访问本地服务了。 注意事项: - ngrok 免费版的服务是有限制的,例如每个隧道最多只能使用 8 小时,每分钟最多只能处理 20 个连接等。如果需要更多的服务,可以考虑购买 ngrok 的商业版服务。 - ngrok 映射公网地址和端口号是动态分配的,每次启动 ngrok 都可能会有变化,因此需要及时更新使用 ngrok 的应用程序配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PrinciplesMan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值