内网穿透神器Ngrok

简直就是个神器!

设想一下,你在本地开发的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 项目为例。

  • 使用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也是内网穿透的利器,它有免费使用的隧道提供,但是需要实名认证,戳官网了解更多。

参考

ngrok docs

ngrok

Ngrok NatApp 微信本地化调试利器