使用ngrok进行内网穿透教程,将本地映射到互联网上可用于微信平台调试等

前言

前不久我的网站对接了微信公众号平台,在调试的时候很不方便,难道要把代码部署到服务器上测试?这不太可能,甚至还可能影响线上正常的系统,所以就使用了ngrok提供的内网穿透服务,将自己的电脑映射到互联网上,今天我就分享一下如何使用ngrok进行内网穿透,将自己的电脑映射到互联网上。

注册ngrok

首先,你需要到ngrok上注册一个账户,非常简单,进入首页以后右上角点击“SIGN UP →”进行注册,注册好以后登陆你的ngrok账户,将会跳转到https://dashboard.ngrok.com/get-started

ngrok dashboard

查看自己的令牌

登陆成功以后会跳转到“dashboard”,在这里你可以看到你的令牌,就是页面上的“Connect your account”这里的:「$ ./ngrok authtoken 1WNQVxkxraY7VF9boGWjuyQJtRpG4FMzFAYL69XGhJtoHaXT」这里的48位字符串就是你的令牌。你要和密码一样保存好哦。

下载ngrok

你可以访问https://ngrok.com/download来下载ngrok,无论你是Windows、Linux、Mac、FreeBSD都可以找到对应的客户端,几乎所有常见的操作系统都会被支持,我的电脑是Mac,所以接下来的演示,我都是在Mac环境下,不过命令非常简单,其他操作系统都是一个意思的。

下载好ngrok以后,需要进行解压,Windows的解压就比较简单了,我就不说了;在Linux和Mac环境下,可以使用解压命令,假设你把下载的ngrok.zip放到了下载文件夹里,我的用户名是renfei,那解压的命令是:

unzip /Users/renfei/Downloads/ngrok.zip

启动ngrok

Windows使用的是命令行,Linux和Mac就在终端里输入命令,假设我们已经进入到解压后的位置。

连接到您的账户

这一步需要将你的账户和你的客户端进行连接,将您帐户的身份验证添加到ngrok.yml文件中,注意此处的48位令牌换成你的,命令是:

./ngrok authtoken 1WNQVxkxraY7VF9boGWjuyQJtRpG4FMzFAYL69XGhJtoHaXT
ngrok authtoken

启动ngrok,将端口映射到互联网

启动ngrok也非常简单,首先你要知道将哪个端口映射到互联网中,我这里演示的是8091端口,我的程序监听的是8091端口,命令是:

./ngrok http 8091

这时候显示了以下信息:

ngrok
  • Session Status:状态,online是在线

  • Account:账户,RenFei (Plan: Free)免费套餐

  • Version:版本,2.3.35

  • Region:区域,United States (us),美国

  • Web Interface:本地可视化监控界面,http://127.0.0.1:4040

  • Forwarding:对外暴露的地址,包括HTTP和HTTPS

来自互联网的访问

Forwarding:提供的地址就是互联网地址,通过这个地址就可以访问到你设置的本地端口,这里演示的是:http://5a8619f5.ngrok.io,需要注意的是,免费套餐的这个地址是随机的,每次启动都会变化,如果希望要一个固定不变的网络地址,就需要付费套餐了。当然你也可以增加一个subdomain参数尝试申请本次指定的域名,但不会一直保留给你,你需要每次都申请,例如我希望域名是renfei:

./ngrok http -subdomain=renfei 8091

Region:区域默认是美国,如果你需要其他区域的服务,可以在启动时增加一个region参数,例如我们申请要亚洲区域的服务:

./ngrok http -region ap 8091

支持的区域有:

  • us - United States (Ohio)

  • eu - Europe (Frankfurt)

  • ap - Asia/Pacific (Singapore)

  • au - Australia (Sydney)

  • sa - South America (Sao Paulo)

  • jp - Japan (Tokyo)

  • in - India (Mumbai)

Web Interface:提供的本地可视化监控界面,http://127.0.0.1:4040,可以更详细的监控网络请求的详细交互内容:

ngrok Web Interface

更多信息

上面我介绍的教程基本能满足大部分需求,如果你还希望有其他的设置和功能,可以参考官方文档:https://ngrok.com/docs

分享此页面

Comments