内网穿透工具——ngrok使用教程

ngrok介绍

许多刚学Javaweb的同窗(包括我本身)确定都很是好奇,如何在外网上访问本身作的项目,跟咱们本地访问tomcat有什么区别?java

今天就向你们介绍一个很是强大的外网映射工具:ngrok.ngrok能够把你的本地ip(127.0.0.1|localhost)映射成一个公网域名,这样全部人均可以经过这个域名来访问你的项目,这个功能对本地调试,特别是微信公众号开发带来了极大的便利.web

示例: 
http://localhost:8080/项目名/ -> http://**.ngrok.com/项目名windows

ngrok版本说明

此处要介绍三个ngrok版本:ngrok,tunnel,sunny-ngrok.tomcat

第一个版本是国外开发的原生ngrok版本,这个版本将咱们的本地ip映射到一个二级域名上,这个域名有两种形式:自定义主机名和系统分配主机名(主机名为最左边的部分,好比咱们平时常常看到的www).这个版本有两个缺陷:
1.系统分配的主机名是动态分配的,即每一次开启都会不同,因此每次访问的时候都要记住不同的域名,这很蛋疼. 
2.这个域名是在国外的,因此访问速度会至关慢服务器

第二个版本是国内基于ngrok开发的一个改良版,因为域名在国内,因此解决了访问慢的问题,可是这个版本如今已经没法使用微信

第三个版本也是国内开发出的一个版本,能够自定义主机名,还能够自定义域名(前提是你有一条域名),很好的解决了原生ngrok的那两条缺陷.dom

ngrok使用步骤

原生ngrok

1.先说说原生的ngrok,软件官方下载连接: https://ngrok.com/.下载后解压,是一个ngrok.exe的文件.
2.进入DOS命令界面(home+R 弹出运行框,输入cmd回车),进入你解压的目录,我解压在F盘的ngrok文件夹下:cd F:/ngrok 
3.输入 ngrok http ‘端口号’.这里要说明两点,第一:老版的ngrok不须要输http,可是那种方法已经不能用了,最新的格式跟我这个同样.第二:端口号要跟tomcat使用的端口号保持一致(这里以tomcat为例),好比你tomcat的conf/server.xml文件中用的是80端口,这里就要写80端口
4.ok,界面以下图所示就证实咱们已经映射成功了: 
这里写图片描述工具

是否是很简单?咱们能够开启tomcat服务器,而后登录到他给咱们的域名上去看看是否能正常访问到tomcat的首页 
5.固然,上面也说了,这种方法每次换域名很麻烦,那么咱们来看看如何获取一个自定义主机名的固定域名:输入 ngrok -help,界面以下图所示: 
这里写图片描述spa

能够发现最新的命令变成了:ngork http -subdomain=’自定义主机名’ ‘端口号’. 
6.按照老版本的步骤,咱们此时去官网注册一个帐号,获取一个access-token,把这个token往命令行里一输,就能够了.可是如今就算拿到了token,再把最新命令输入,会发现:
这里写图片描述 
他说这功能已经开始收费了,个人帐号是免费帐号,没法使用这个功能… 
在这里我就不付费去实现这个功能了,愿意付费的同窗能够去试试这个功能,下面我要介绍的这个版本比原生的要更增强大一些而且目前仍是免费的..net

sunny-ngrok

1.接着来看看国内的这个工具,官网地址:http://ngrok.cc/
2.首先在平台上注册一个帐号,平台登陆地址:http://www.ngrok.cc/login
3.登陆平台,将系统分配域名(即自定义前缀|主机名)添加好后(我用的是whu-czh),在官网上下载客户端,解压(解压地址F:/sunny_ngrok) 
4.修改解压后的ngrok.cfg文件:修改文件中的auth_token(这个token在平台上得到);subdomain:”主机名”(要与平台上添加的主机名一致);http:端口号(与tomcat的端口号一致),修改后以下图所示:
这里写图片描述 
其余的不用去管,保存后在DOS下输入命令: 
ngrok.exe -config ngrok.cfg start web 
注意:命令中的web跟ngrok.cfg中的通道名称web保持一致,若文件中你改为了haha ,那命令中也要输 haha.

到此本地ip就映射成功了,将本地ip映射到本身购买的域名上的方法会在”微信公众号开发之URL申请”中讲解

5.windows下直接执行Sunny-Ngrok启动工具.bat文件,输入从http://www.ngrok.cc/login注册后得到的隧道ID就能够用了

相关文章
相关标签/搜索