浅析内网穿透可行方案

#缘起

  • 最近在做一个微信网站,需要和微信对接。发现开发的时候需要将自己电脑上的服务映射到公网上,才能接收到微信公众平台的回调。
  • 因此,百度搜寻整理各种可行的内网穿透方案。

内网穿透原理

以下纯属个人理解,不保证完全正确。想要自己机器或者自己机器上的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

和sunny-ngrok类似,又一个代理服务器,这个服务器也有免费隧道,但是比起sunny-ngrok,则更多的商业气息。在做微信开发调试时,还是可以试用下的。操作也是类似,下载客户端,启动命令连接代理服务器,即可。
官网链接:https://natapp.cn/

花生壳

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

frp

这里重点介绍一下这个代理应用。此应用让我真正理解了内网穿透的原理。上述的各种方案实现基本都是此原理实现者,我个人认为。参考内网穿透原理图。

  • 1.将frps服务启动在有公网IP的服务器上,如阿里云主机。
  • 2.frpc启动在自己机器上,连接公网上的frps服务器。这样(frps就知道和他连接的各个frpc在哪里,等请求来了,直接代理转发到对应的frpc上)
  • 3.frp是一种代理架构,有写类似nginx。自己不做业务逻辑实现,只是代理请求并按配置转发。这样就能做到一个域名下挂多个应用的效果。
  • 4.和nginx不同的最大点,还是frp是服务端和客户端的架构。而nginx只有服务端,其代理转发的只能在一个内网中,无法内网穿透。

github 托管地址:https://github.com/fatedier/frp
具体使用请参考frp中的文档。

nat123

不支持苹果操作系统,在windows上测试成功。在服务端开启nat123的端口映射配置,然后在要访问该端口的机器开启访问者连接。

这里写图片描述

这里写图片描述

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值