微信开发-ngrok内网穿透部署

由于要接入微信公众号,查看了官网上的接入文档,必需是80端口而且微信服务器需要验证token,那我本地开发不可能每次都把源码上传到服务器上吧,而且也不方便,这就需要能内网穿透的工具,能让外网通过外网域名访问我本机的127.0.0.1IP,于是研究了一下ngrok,ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道,而且还可以将自己的应用暴露给外部网部,是不是觉得很酷。

         1.从官网上https://dashboard.ngrok.com/get-started上下载ngrok程序,我本机是win所以下载了win版

微信开发-ngrok内网穿透部署_第1张图片

2.解压放到D盘,然后登陆ngrok,拿到authtoken

微信开发-ngrok内网穿透部署_第2张图片

3.cmd进入到ngrok安装包里,将authtoken保存到本地c盘上。

ngrok  authtoken 3Uc6rWP*******G_5QnGAh8Mptyra6aqTzu59

安装成功提示

微信开发-ngrok内网穿透部署_第3张图片

4.ngrok help会有命令提示:

微信开发-ngrok内网穿透部署_第4张图片

看红色截图:

假设tomcat已经启动,且端口号是8183那么启动ngrok命令是:

ngrok http 8183 

结果如图:

微信开发-ngrok内网穿透部署_第5张图片

注意默认是免费版的,。

测试一下tomcat例子里的项目:http://2ff66b8a.ngrok.io/examples/index.html(注意2ff66b8a是随机域名,每次ngrok启动是不一样的)

结果如图:

微信开发-ngrok内网穿透部署_第6张图片

而本机通过http://127.0.0.1:8183/examples/index.html结果是:

微信开发-ngrok内网穿透部署_第7张图片

发现两者是一样一样的。由于每次启动生成随机域名,我们想绑定固定域名,比如我现在开发weixin,我就想绑定weixin,而上面说过ngrok help有提示

微信开发-ngrok内网穿透部署_第8张图片

所以输入命名:ngrok http -subdomain=weixin 8183 :绑定weixin.结果如图:

微信开发-ngrok内网穿透部署_第9张图片

纳尼,看看错误日志,要钱,一万个***奔腾而过,算了,果然放弃官方的。不过如果舍得钱也可以花钱去买,使用方法如上,日志里有地址:https://dashboard.ngrok.com/billing/plan。

那我转而去找免费的,国内有个朋友已经搭建了一个www.tunnel.mobingrok公共服务,与ngrok.com类似,也能实现内网穿透。地址:http://ngrok.2bdata.com/

 

步骤是解压,放D盘,cd命令进入,dos命令执行:ngrok-config=ngrok.cfg -subdomain xxx 80 //(xxx 是你自定义的域名前缀,80是你要代理的接口)。我们不仿写的start.bat如下:

ngrok-config=ngrok.cfg -subdomain chenyuanX 8183

让nrgok代理的本机的8183端口,域名是chenyuanX。

 

启动成功界面,http://chenyuanx.tunnel.2bdata.com ->127.0.0.1:8183即代理的本机8183的域名。(注意,还有一个https的安全协议也可以访问)

微信开发-ngrok内网穿透部署_第10张图片

启动端口号是8183的tomcat,测试一下,是不是和上面的一样:

微信开发-ngrok内网穿透部署_第11张图片

至此,用外网域名能成功访问我本机的应用,而且是80端口。再看看127.0.0.1:4040后台管理界面:

微信开发-ngrok内网穿透部署_第12张图片

上面拦截到了我的请求,由于是在我本面上访问的,那如果是外网访问的是不是也能行呢。特意让我老婆在她们公司访问了一下,(呵呵),效果如下:

微信开发-ngrok内网穿透部署_第13张图片

不过这个ngrok_2bdata不稳定,容易被攻击,想稳定还要自己用源码去配个代理服务器最好。教程以后更上。写的不好,敬请喷


你可能感兴趣的:(技术工具)