新闻资讯

ngrok内网穿透是怎样的?如何通过Ngrok实现内网穿透

2022-10-25

ngrok内网穿透是什么?Ngrok一款内网穿透工具,它可以将本地部署的Web应用能够让公网环境直接访问到。ngrok是一个反向代理,通过在公共端点和本地运行的Web服务器之间建立一个安全的通道,实现内网主机的服务可以暴露给外网。所以它提供了一个能够在公网安全访问内网Web主机的功能,能捕获所有HTTP请求的内容,也支持TCP端口映射,支持Linux、Windows、Mac OS等平台。
Ngrok服务器与本地ngrok形成一份安全通道,ngrok服务器在外网环境中,这样就可以通过安全通道暴露本地web应用到公网中。
完成该工作需要完成三步操作:
注册账号
进入ngrok官网(https://www.ngrok.cc/),先注册后登录,登录成功页面如下图2所示。

  1. 购买服务
    在购买服务之前,先要完成实名认证工作,自行进行实名认证工作,该部分花费2元钱。
    然后点击开通隧道,可以选择免费版本(虽然不太稳定)
    开通完成后需要填写一下内容,完成之后返回隧道列表
    隧道列表显示了该隧道信息,隧道id用于启动服务,增送的域名就是公网访问的域名地址。
  2. 下载工具到本地端
    点击隧道列表中的客户端下载,选择对应的win/linux版本,解压,打开,点击Sunny-Ngrok启动工具,会出现一个弹窗页面,输入隧道id,即可实现连接,连接成功会出现以下online表示即为成功。

    如何通过Ngrok实现内网穿透

    如果以我们开发人员的机子作为服务端,有开发环境,又有tomcat,数据库等等,如果能够直接将机子这个内网的IP映射到公网多好啊。这就是我们将要介绍的内网穿透利器,而且是免费的!!
    1.Ngrok
    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。Ngrok是外国发布的一个开源项目,也有一个公开的运行服务,但被国内墙掉了。国内一个机构建立并运营了一个ngrok运行服务,虽然有时不太稳定,但对于调试人员来说是足够的。地址:http://www.ngrok.cc/ 。其支持HTTP的80端口和TCP端口转发。下面介绍使用方法。微信开发调试即需要一个公网IP/域名和80端口。
    1) 注册登陆ngrok平台,申请一个ngrok.cc下的二级域名,并在基本信息里面获得token值。

    内网穿透--ngrok和花生壳


    2) 下载ngrok客户端并运行,输入token值即可。非常简单。这样本机就可以作为一个web服务器啦。
    3) 将http://www.emlinuxhome.ngrok.cc/ 填入微信公众号的服务器配置里面,可以立刻开始微信web调试。当然,微信也提供了一个web调试工具,但是要装QQ浏览器,调试H5方便些,其他就无所谓啦。
    2.花生壳
    Ngrok有时不稳定,用了一段时间,似乎二级域名会被锁住,一直免费确实很难运维,最好就是大家捐赠些给它。
    花生壳也是内网穿透利器,但是是收费的。最近有个免费版本是提供免费的1G流量。官网是:http://hsk.oray.com/。
    使用方法跟ngrok差不多,也是通过web管理中心注册二级域名和配置,并通过花生壳的客户端来反向代理,实现内网穿透。花生壳在国内物联网领域广泛使用,例如视频监控等等。
    3.数据流向
    很容易想象公网数据交互过程:用户web访问二级域名->ngrok/花生壳一级域名转发数据->本地内网客户端接收到数据。
    和ngrok内网穿透相比,花生壳的使用提高的不仅仅是办公效率,也会让客户拥有其他多方面更好的体验。花生壳所提供的服务器系统下载、映射等功能,也都会比较切合的体验客户的实际操作需求,最大化满足客户。