由于ipv4公网ip数量有限,许多办公室或者校园网都是基于NAT技术共用公网ip。本机被分配的ip都是局域网ip, 可以借由路由器访问外网,但是无法直接被外网服务访问。所以相信大家在开发当中或多或少都碰到过以下情况:
- 开发对接的第三方服务有回调通知,但需要提供公网访问地址。比如微信支付的回调和公众号开发。
- 开发需要和远程团队调试,大家不在一个局域网内。
- 自己整了一个牛逼的项目,开发到一半想给微信基友看看炫一下。
可能有人会说针对以上情况部署到公司带公网的服务器其实就ok了。但实际上服务器上缺少ide, 对于开发阶段来说调试及定位bug都非常不方便,另外就是有些demo项目可能只是演示需要,搞一台公网服务器属实浪费资源。 本文介绍一款内网穿透工具ngrok,简单安装部署就能将内网服务暴露至公网访问!
ngrok介绍
ngrok是一款开源的内网穿透工具,它主要分为客户端和服务端,且客户端支持windows、macOs、linux等多个平台。一般来说只需要下载客户端并启动就行了。
基本原理
它的基本原理是通过客户端与公网服务端建立通道及映射关系,然后服务端提供可访问的公网地址。当外网访问此公网地址时,ngrok服务端根据映射关系找到客户端,然后转发给客户端的服务。话不多说,接下来开整!
ngork客户端安装及启动
安装
首先下载好客户端之后进行解压,安装包可以通过官网下载。
# 以macOS为例
unzip /p