w85959@qq.com 发表于 2021-11-14 22:07:29

ngrok的主要作用是什么?如何实现内网穿透?

  当计我们的算机处于局域网内时,如果想要外网与内网的计算机连接通信,就需要通过内网穿透来实现。ngrok是一个反向代理,使得你本地的服务器可以被局域网外的公网访问到ngork的服务端和客户端,那ngrok有什么作用?如何通过ngrok实现内网穿透呢?
  什么叫ngrok?
  ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放。
  ngrok的主要作用是什么?
  对客户端隐藏服务器(集群)的IP地址
  安全:作为应用层防火墙,为网站提供对基于Web的攻击行为(例如DoS/DDoS)的防护,更容易排查恶意软件等
  为后端服务器(集群)统一提供加密和SSL加速(如SSL终端代理)
  负载均衡,若服务器集群中有负荷较高者,反向代理通过URL重写,根据连线请求从负荷较低者获取与所需相同的资源或备援
  对于静态内容及短时间内有大量访问请求的动态内容提供缓存服务
  对一些内容进行压缩,以节约带宽或为网络带宽不佳的网络提供服务
  减速上传
  为在私有网络下(如局域网)的服务器集群提供NAT穿透及外网发布服务
  提供HTTP访问认证
  突破互联网封锁(不常用,因为反向代理与客户端之间的连线不一定是加密连线,非加密连线仍有遭内容审查进而遭封禁的风险;此外面对针对域名的关键字过滤、DNS缓存污染/投毒攻击乃至深度数据包检测也无能为力)
  如何实现内网穿透?
  如果以我们开发人员的机子作为服务端,有开发环境,又有tomcat,数据库等等,如果能够直接将这个内网的IP映射到公网多好啊。这就是我们将要介绍的内网穿透利器,而且是免费的!
  1.ngrok
  ngrok是外国发布的一个开源项目,也有一个公开的运行服务,但被国内墙掉了。国内一个机构建立并运营了一个ngrok运行服务,虽然有时不太稳定,但对于调试人员来说是足够的。地址:。其支持HTTP的80端口和TCP端口转发。下面介绍使用方法。微信开发调试即需要一个公网IP/域名和80端口。
  1) 注册登陆ngrok平台,申请一个ngrok.cc下的二级域名,并在基本信息里面获得token值。
  2) 下载ngrok客户端并运行,输入token值即可。非常简单。这样本机就可以作为一个web服务器啦。
  3) 将 填入微信公众号的服务器配置里面,可以立刻开始微信web调试。当然,微信也提供了一个web调试工具,但是要装QQ浏览器,调试H5方便些,其他就无所谓啦。
  2.花生壳

https://upload-cdn.orayimg.com/upload/help/2109/202109012137459247.png
  ngrok有时不稳定,用了一段时间,似乎二级域名会被锁住,一直免费确实很难运维,最好就是大家捐赠些给它。这里也多说一句,作为开发人员,如果你从原创里面学到东西,有时打赏一两块友情鼓励是必要的,否则谁能一直源源不断地原创贡献啊。
页: [1]
查看完整版本: ngrok的主要作用是什么?如何实现内网穿透?