@marlin
2015-11-17T12:40:45.000000Z
字数 1085
阅读 1595
ngrok 足迹
ngrok是一个内网穿透工具. 具体原理这里不展开描述, 它最主要的作用是方便在本地调试, 尤其是遇到第三方依赖(图片第三方存储, 第三方接口调用等)时, 它可以将本地调试端口(如:localhost:8080映射成一个公网ip), 这就大大方便了第三方回调. 下面主要介绍其使用方法:
120.25.122.54)上下载相应的可执行程序, 总目录是/usr/local/src/ngrok/bin/, 根据操作系统不同分成了: linux, mac, windows, 根据指令集不同分成了: 386(32位), amd64(64位). 视调试程序所在的系统环境选择相应的可执行程序. 如: win7 32位操作系统选择windows_386目录下的ngrok.exe. 下载方法:
cd /usr/local/src/ngrok/bin/windows_386sz ngrok.exe
ngrok.exe放到一个非中文目录下(如:E:\\ngrok\), 在同目录下创建ngrok.cfg, 用文本编辑工具添加如下内容:
server_addr: "ngrok.weinfo.org:4443"trust_host_root_certs: false
cd /usr/local/src/ngrok./bin/ngrokd -domain="ngrok.weinfo.org" -httpAddr=":8000"
注意: 这里的domain设置与上面ngrok.cfg中的server_addr设置保持一致.
ngrok.exe所在目录执行如下命令:
ngrok -config=ngrok.cfg -subdomain=test 8080
注意: ngrok.cfg就是上述创建的文本文件, subdomain视情况创建, 8080的端口与调试程序时候的端口(默认web工程调试端口是8080)保持一致. 如果本地web程序的访问地址是localhost:8080, 按照上面的配置其公网相应地址是http://test.ngrok.weinfo.org:8000, 其中8000端口号来自阿里云服务器上的命令中的httpAddr配置项.
另外, 1. 微信回调端口需要是80端口, 这一部分设置待续... 2. 经测试, win10系统(目前测试结果是win8也不能用)在客户端启动时无法创建穿透到服务端的隧道, 猜测是win10安全方面的规则限制, 尝试过关防火墙; 添加入站规则; 均不生效, 目前无解. win7系统可以正常使用.
