@marlin
2015-11-17T20:40:45.000000Z
字数 1085
阅读 1397
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_386
sz 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系统可以正常使用.