简直就是个神器!
设想一下,你在本地开发的rails项目,想要临时整个demo给别人看,但是你没买域名,没买服务器,怎么破?
用Ngrok !
Ngrok是什么?
官网定义:
ngrok is a reverse proxy that creates a secure tunnel from a public endpoint to a locally running web service. ngrok captures and analyzes all traffic over the tunnel for later inspection and replay.
一个反向代理,用于创建从公共端点到本地运行的Web服务之间的安全隧道,还可以捕获和分析隧道上的所有流量,以供后期的检查和回放。
一图胜千言:
Download
直接去官网下载:https://ngrok.com/download
Windows下直接双击压缩包安装,Linux和Mac OSX 使用命令:
unzip /path/to/ngrok.zip
使用./ngrok help
可以查看ngrok的所有命令。
官网有非常详细的使用说明,直接查阅即可。
Usage
非常简单,告诉ngrok,哪个端口是用来访问web应用的即可。
以一个简单的rails 项目为例。
访问你本地的rails项目,浏览器打开:http://localhost:3000/
使用Ngrok,打开http tunnel on port 3000, 终端输入:
./ngrok http 3000
此时,访问http://b2aac9bf.ngrok.io或https://b2aac9bf.ngrok.io:
从内网到公网的完美过渡!别人也可以访问了。
第一次看到这种操作的我,表示Ngrok真的是太酷了!!
install your AUTHTOKEN
没有登录的情况下,session的有效期默认只有8小时,注册下,登录后,在你的dashboard(https://dashboard.ngrok.com)中可以看到AUTHTOKEN.
终端运行:
./ngrok authtoken YOUR_AUTHTOKEN
成功后会出现:Authtoken saved to configuration file的信息。
Open inspector
如果想要查看request details,可以在浏览器打开http://localhost:4040/ 👇
其他
Ngrok允许 custom subdomain, custom domains等,but not for free account : (
Ngrok的另一个常用的情景是微信本地调试,以后用到再写写这块 : P
Natapp也是内网穿透的利器,它有免费使用的隧道提供,但是需要实名认证,戳官网了解更多。