这里我就不阐述linux系统中的客户端如何启动了(考虑到需要此文的同学应该都是初学者,所以开发环境多数为windows,或者估计初学linux系统不久),根据《CentOS7 ngrok下载、编译、安装》此文中对windows的客户端的编译方式,我们会在bin目录中找到一个叫做:
windows_amd64的目录,其中就有编译好的ngrok.exe文件,我们可以通过sftp、scp等方式(后开文讨论)将其获取到我们的开发机器中的windows系统内。
例如我这里这样的情况:
其中ngrok.exe就是我们的客户端,而ngrok.bat这是待会我们要创建的启动脚本,而ngrok.cfg这是客户端的配置文件,而.log及.log.???这是使用.bat批处理脚本启动时,加入的日志记录。
我这里时在C盘创建了一个交ngrok_windows这样一个文件夹,然后将ngrok.exe放入其中后,再
开始创建ngrok.bat
ngrok.bat脚本内容如下:
这里可以粘贴复制:
C:/ngrok_windows/ngrok.exe -log=ngrok.log -config=ngrok.cfg -subdomain=vkchow 80
我这里调用可执行文件(ngrok.exe)的时候使用的是绝对路径,这个大家可以改改。
分别说明一下后面的参数意思:
-log参数用于指定ngrok的日志内容,有些时候一些错误,我们可以通过日志进行分析。所以这个还是很有必要的。
-config参数用于指定载入的配置文件,前面我们已经看到客户端文件夹中,我有一个ngrok.cfg文件,待会我们会说明配置文件的内容。
-subdomain参数用于指定我们映射到外网后,访问的子域名,例如服务器端我绑定的域名是ngrok.gamecc.cn那么这里的subdomain设置的vkchow,说明我们本地映射的外网访问域名则为:vkchow.ngrok.gamecc.cn后面的80这是说明访问要访问的本地http服务的端口,一般都是80号端口。
然后将上面的脚本内容保存到ngrok.bat文件中即可。
启动我们只需要用鼠标双击运行ngrok.bat文件即可。
然后运行效果如下:
如果Tunnel Status显示为online,为绿色,那么说明我们的管道已经开始工作了,如果是红色的reconnecting,而且如果一直显示,基本上说明我们的服务器端或者客户端什么地方有问题了。具体的问题估计得具体说,这里先不讨论。
如果我们还没有做nginx转发代理得话,那么我们就得按照Forwarding中得地址去访问,上图中
http://vkchow.ngrok.gamecc.cn:1983 -> 127.0.0.1:800 我们不需要理会端口800这个事情,依然是80就是了。
上面说的就是一个映射关系,意思就是http://vkchow.ngrok.gamecc.cn:1983这个外网域名通过管道映射后,可以在外网直接访问我链接了外网得局域网内网中我的本机127.0.0.1(localhost)的http服务。
那么如果后面通过设置nginx的转发代理,我们也可以正常的只是用域名即可,因为例如向微信的接口必须使用80端口,如果不设置nginx代理的话,那么后面我们这样搭设的服务器做微信开发,就没有意义了,因为微信执行通过80端口。。。-_-!!
/////////////////////
现在这里贴出ngrok.cfg配置文件内容:
server_addr: "ngrok.gamecc.cn:4443"
trust_host_root_certs: false
/////////////////////
前面说到的,如果ngrok客户端一直reconnecting的话,我之前在架设ngrok服务器的时候也出现了这个问题,我最后问题是出在证书的生成上,所以在服务器端编译前,请一定要搞对证书生成时候的域名,以及ngrokd启动时候的域名,两个一定得对得上。