<返回更多

无需公网IP的免费内网穿透方案,用钉钉就能搞定

2021-06-18  今日头条  瞥瞥张
加入收藏
无需公网IP的免费内网穿透方案,用钉钉就能搞定

钉钉美图

前言

最近有一个小需求【调试远程Python代码,超方便pycharm教程】需要用到内网穿透,然后自己搜到了【最强内网穿透工具frp】。然后看网友评论里面有推荐【傻瓜式-Web面板的轻量级、高性能内网穿透工具:nps使用教程】的,也有我自己找的【利用ssh进行内网穿透,大道至简】的方式做内网穿透。

然后大多数网友都觉得需要公网IP是个麻烦事,毕竟需要购买服务器,也有好多免费的工具,但是需要接入对方服务器。我找到了一个通过钉钉提供的方式做内网穿透,毕竟是马老板的公司出品,多少还是有保障的。而且配置超简单。

官方文档

钉钉官方文档:
https://developers.dingtalk.com/document/resourcedownload/http-intranet-penetration?pnamespace=App

启动内网穿透

下载工具:

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

执行命令“./ding -config=./ding.cfg -subdomain=域名前缀 端口”,以mac为例:

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

启动后界面如下图所示:

无需公网IP的免费内网穿透方案,用钉钉就能搞定

 

参数说明:

无需公网IP的免费内网穿透方案,用钉钉就能搞定

 

测试效果

编写了一段go代码启动本地服务

package main

import (
	"fmt"
	"net/http"
)

func main() {
	http.HandleFunc("/dingding", func(w http.ResponseWriter, r *http.Request) {
		fmt.Fprintf(w, "RemoteAddr%s,data:%s", r.RemoteAddr, r.FormValue("data"))
	})
	http.ListenAndServe("127.0.0.1:8080", nil)
}

下图就是效果,当我访问【
http://janbar.vaiwan.com/dingding?data=abcd】时,实际是访问内网我的服务。

无需公网IP的免费内网穿透方案,用钉钉就能搞定

 

根据运行ding后打印的信息,有一个web页面可以查看访问请求的详情。当然还能看到几个大字ngrok,感情钉钉这个是套壳ngrok的啊。

无需公网IP的免费内网穿透方案,用钉钉就能搞定

 

总结

参数中的subdomain需要注意不和别人的冲突,不然转发的时候会出现不可预见的错误。当然我只是用这个工具内网穿透了http和https协议,GitHub上说可以穿透TCP协议,需要配置MySQL啥的,没有搞成功。不过问题也不大,只是提供了一个无需公网服务的方案。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>