好工具分享
大家好,我是鱼皮。
不知道大家在做项目的时候有没有遇到过这样一个需求:让其他同学访问到自己电脑上的网页或服务。
比如我们在团队协作开发时,可以随时让别人查看自己电脑上正在开发的网站,而没必要反反复复把开发到一半的项目部署到服务器上、再去更新。
再比如我之前在开发微信公众号后台服务时,需要填写一个服务的域名来接受来自微信侧的请求:
最开始我是填写的某个服务器对应的域名,但后来发现把服务部署到服务器上后调试非常不方便,所以在想着要是微信侧能直接请求我自己电脑上的服务就好了,打个断点 Debug 不是美滋滋?
还有其他场景,比如大家想要登录同一个人的电脑来一起写代码、找 Bug、排查问题等等。
那怎么样才能实现这个需求呢?
答案是 内网穿透。
先简单解释一下,大多数情况下,我们的个人电脑都处于内网,即没有可公开访问的独立 IP 地址(上网要通过其他网关),因此其他内网用户找不到你,就没办法和你建立连接。
而内网穿透的作用,就是将内网的电脑暴露到公共网络。可以理解为一个中间人,由于他知道你的电脑地址,所以能帮助其他用户访问到你的计算机。
打通网络
具体的技术细节和实现方案就不在本文过多介绍了,今天鱼皮直接给大家分享一款免费易用的内网穿透小工具 NATAPP
,只需一键,让他人轻松访问你电脑上的指定项目!
这个工具可以帮助你在公网和本地电脑之间建立一个安全的通道,从而实现内网传透,还能对通道上的流量进行分析。
用法非常简单!打开官网,注册登录后,先新建一个隧道。大多数情况下,选择免费隧道就足够了:
创建隧道
选定隧道类别后,需要填写隧道的配置,像支持的协议、本地端口等。举个例子,假如你在自己电脑的 3000 端口启动了个前端 web 项目,那隧道协议就选择 Web、端口选择 3000。
隧道配置
创建好隧道后,可以得到一个 authtoken
,相当于密码,后面启动隧道要用到:
获取 authtoken
然后我们要在本地启动 NATAPP 程序,先下载对应操作系统的客户端:
客户端下载
下载的是一个压缩包,解压后会得到一个 natapp.exe
可执行文件。
然后在该文件所在目录下打开命令行工具(cmd),输入以下命令:
natapp -authtoken=<上一步获取到的token>
看到下图的结果,就表示启动成功啦!
image-20211210140114071
可以看到 NATAPP 给我们分配了一个 http 公网域名,其他同学输入这个域名就能访问到你本地端口对应的项目了。
NATAPP 本身是基于 ngrok 反向代理程序实现的,编程水平还不错的同学,也可以自己试着搭建内网穿透服务。此外,同类工具还有很多,比如花生壳等等,感兴趣的同学也可以去试试~
但无论如何,注意安全,不要将电脑的重要端口暴露出去,最好用完就关,更不要拿这种技术去做一些不好的事情!(别说是鱼皮分享的谢谢) 以上就是本期分享,有帮助的话还请给鱼皮一个 点赞 + 在看 ,谢谢大家!