前言

在开发一个项目的时候,经常会遇到我们的项目,需要外网方法测试的情况。比如我们在开发一个callback接口,这时候需要客户那边调我们这个接口,我们才能测试。但是我们是在内网开发,如果要让任何人都能访问我们,我们必须把这个项目放上线,并且配置好域名指向才可以。

还有一种情况,就是我们要做一个OAuth的登陆,比如我们的这个项目,支持使用微博登陆或者其它第三方账号登录的情况。OAuth认证成功后,会把相关信息给到我们,给我们的时候,我们需要一个回调地址,但是我们在开发啊,这个时候怎么办。
还有就是我们正在开发的项目,想让外网访问,以跟用户确认我们目前开发的项目,是符合他们需求的。以避免以后无止境的修改。这个时候,又要怎么办。
可能有的人会去花生壳或者其它动态域名工具,这确实是一种解决方案,不过我想说的是,这种方法弱爆了。真正好用的工具是ngrok!

使用案例

  • 使用ngrok让微信公众平台通过80端口访问本机。这样就可以在本地调试微信,而且ngrok自带的监听,列出了每次请求与响应,更加利于调试。
  • 让别人也可以通过域名访问你本地的网页。
  • 远程控制家庭里的内网控制,内网里的智能家居什么的。
  • 以及......

使用方法

其实,使用方法挺简单的,也不想在这太啰嗦如何使用,就简单说下,主要针对1.7版本的说明。
  1. 下载ngrok 1.7版本[由bobchengbin分享]
    注:因为现在官方的最新版暂不支持自定义配置文件,而官方被‘墙’,所以在国内,还是最好用1.7版本,配上国内的服务器,这样才能使用,速度也快。
  2. 创建配置文件ngrok.cfg
    如:

server_addr: "tunnel.p h p o r.me:4443"
trust_host_root_certs: false

server_addr: "GOtunnel.org:3334"
trust_host_root_certs: true
  1. 运行命令

ngrok -config ngrok.cfg -subdomain example 8080

注:example 为你要的域名;
当Tunnel Status 为绿色的Online时,就表示成功连接上了!

这样的话,你就可以通过 example.gotunnel.org 进行访问了!

2015年11月14日 更新