首先说下什么是“内网穿透”。简单来说,就是让外网能够访问你本地电脑上的应用。例如你本地启了一个Node服务器,端口8000,本地可以访问 http://localhost:8000, 但外网并不能访问你的这个本地应用。使用ngrok做反向代理,就可以实现“内网穿透”访问你的本地应用。
ngrok的使用非常简单,按照下面的步骤操作即可:
访问ngrok官网注册一个账号或者也可以使用Google账号登录。
注册并登录以后,进入Dashborad,选择你的操作系统对应的版本进行安装。
安装后,在ngrok应用所在目录执行如下命令行,你的authtoken在ngrok网站的Dashboard下可以看到。
./ngrok authtoken `你的authtoken`
执行这一步的命令后,你当前运行着的tunnels都能在ngrok网站的Dashborad下看到。
比如我要在本地8000端口开启http隧道允许外网访问,可以在ngrok应用所在目录执行下面的命令行:
./ngrok http 8000
创建成功后命令行终端会打印出一些信息,包含随机生成的外网访问连接,大致如下:
...
Forwarding http://195bb446.ngrok.io -> localhost:8000
Forwarding https://195bb446.ngrok.io -> localhost:8000
...
访问 https://195bb446.ngrok.io, 就可以实现“内网穿透”从外网访问你本地端口为8000的应用了。就这么简单。
如果想要自定义域名,需要付费升级你的ngrok账号,这里就不做介绍了。