[工具] 使用 Ngrok 来帮助你实现本机外网访问
开发过程中我们经常会遇到需要外网可访问的东西,例如:微信,支付宝等.那么在没有公网地址的情况下我们怎么在本机进行测试呢,有一个好用的工具叫做 Ngrok.
Ngrok 目前有两个大版本.V1 版本开源,所以你能见到很多大家搭建的服务器;V2 版本不再开源,只能使用官方的服务器,但是官方的服务器由于你懂得的原因,访问速度很慢还经常连不上,所以向大家推荐的是使用QQ浏览器团队搭建的 V1 版本的服务器.
这个插件你可以在QQ浏览器里直接使用,如图所示:
使用他自带的功能有一个问题,就是这个域名是随机分配的,每次启动完我们还得去 nginx 里重新绑定域名,特别的麻烦,所以我就把浏览器里的插件提取出来了.因为本身这个工具是可以进行配置的,所以我们添加了配置文件后就可以愉快的定制域名啦,当然也不用下一个根本没有其他作用的QQ浏览器了.
下载地址:
接下来我们需要配置一下配置文件,放到程序同级目录,起名叫ngrok.conf
就可以了.
trust_host_root_certs: false
server_addr: proxy.qqbrowser.cc:4443
inspect_addr: 0.0.0.0:4040
tunnels:
qigeshenmemingzihaone:
subdomain: phphub
proto:
http: 10.2.33.10:80
inspect_addr 是管理台的地址,subdomain 是我们需要绑定的子域名,http 是我们本地的 ip+port
之后启动我们的程序
./ngrok start qigeshenmemingzihaone
启动完成
接下来我们就可以用自定义域名(http://phphub.proxy.qqbrowser.cc
)来访问我们的程序啦.注:图中显示为8080端口,实际上可以使用的是80端口
,这里是他的一个 Bug,无所谓啦.
Ngrok 为我们提供了一个方便的查看工具,并且可以模拟回放请求数据.管理后台地址是 127.0.0.1:4040,端口号是我们在配置文件里进行配置的这个版本的你访问了会发现是Unauthorized,难道这么好的功能我们就不能用了么?不是这样的,只是QQ浏览器团队为了防止别人直接用他们的工具做了一个小小的改动,我们访问127.0.0.1:4040/http/in就可以了.
有一个需要注意的地方就是,如果想在这个后台里看到响应的报文,需要关掉 gzip
,V2 版本已经修复这个 Bug 了,我们用的这个是 V1 版本的.
推荐文章: