浅析内网穿透可行方案

#缘起

内网穿透原理

以下纯属个人理解,不保证完全正确。想要自己机器或者自己机器上的web服务暴露在internet上,就需要有一个公网ip访问点,然后和自己的机器建立socket 长连接关联。这样就可以访问公网ip某个路径,代理到自己机器上的web服务上。

原理图请参考frp的架构图:

可行方案列举

    1.ngrok,sunny-ngrok,cpolar 2.natapp 3.花生壳 4.frp 5.nat123 …

ngrok,sunny-ngrok

ngork是一个代理应用,托管在github上。可以利用其搭建自己的代理服务器(有公网服务器,类似阿里云主机),也可以直接使用别人搭建好的服务,如sunny-ngrok,或者是natapp的服务。 如此,你只需要关心客户端的配置,一般是要代理的ip和端口。别人做的代理服务器一般都是有流量,带宽限制的,当然可以收费来盈利。多是一个隧道对应一个web代理。客户端通过命令连接到代理服务器上。 官网链接:https://www.ngrok.cc/ http://ngrok.2bdata.com/ https://ngrok.com/ https://www.cpolar.com/

natapp

花生壳

商业级服务,之前没有强制实名认证和备案,还是可以选择的。强制后,我想也只有公司会考虑了,像我这种开发者,只是需要代理调试,还是不倾向。 官网链接:http://www.oray.com/

frp

这里重点介绍一下这个代理应用。此应用让我真正理解了内网穿透的原理。上述的各种方案实现基本都是此原理实现者,我个人认为。参考内网穿透原理图。
github 托管地址:https://github.com/fatedier/frp 具体使用请参考frp中的文档。

nat123

不支持苹果操作系统,在windows上测试成功。在服务端开启nat123的端口映射配置,然后在要访问该端口的机器开启访问者连接。
经验分享 程序员 微信小程序 职场和发展