ngrok反向代理,让内网电脑Web服务通过公网域名访问
What is ngrok?
Ngrok通过安全隧道将nat和防火墙后面的本地服务器暴露给公共互联网。
Ngrok exposes local servers behind NATs and firewalls to the public internet over secure tunnels.
ngrok.com会为你的账号创建一个临时的域名,当本地的ngrok代理程序启动后,这个域名就可以用来与你本地的电脑进行映射和关联。
有了这个能力,我们就可以在自家的电脑上搭建简易的web服务,而不用去购买云服务或托管主机了。
另外,在开发阶段中,处于成本的考虑,服务设备和网络资源等通常并不会很早的时候就采购好,此时我们可以使用开发电脑来模拟公网的运行环境,往往会有四两拨千斤的奇效。
惊鸿一瞥
我们先来看一眼ngrok服务run起来的样子:
WeChatd614864ce69be309ee1ec96a7a5c08b6.png
其中,Forwarding http://c511ae1104b7.ngrok.io 就是你本地服务在公网中的域名;
这个域名不是固定的,每次重新启动本地的Ngrok代理服务程序后,这个域名地址都会变化。
安装使用
前往官方网站https://ngrok.com,注册一个账号,然后下载对应的操作系统的版本;
我用的是Mac版本的,下载完成后的样子如下:
ngrok是一个命令行,使用方式如下:
1. Unzip to install
On Linux or Mac OS X you can unzip ngrok from a terminal with the following command. On Windows, just double click ngrok.zip to extract it.
如果下载的是个zip包,就解压一下
$ unzip /path/to/ngrok.zip
2. Connect your account
Running this command will add your authtoken to the default ngrok.yml
configuration file. This will grant you access to more features and longer session times. Running tunnels will be listed on the status page of the dashboard.
添加授权认证信息,建立账号关联
$ ./ngrok authtoken 1gipQTr3FoxxxxxK1d1qgTuLxxxxxxxrWDfDWxxxxxxxcVL3u5E
3. Fire it up
查看帮助
Read the documentation on how to use ngrok. Try it out by running it from the command line:
$ ./ngrok help
启动Http代理隧道,匹配本地的localhost:80端口
To start a HTTP tunnel forwarding to your local port 80, run this next:
$ ./ngrok http 80
http端口换根据需要替换为项目实际的端口号即可;