使用工具 Ngrok 内网穿透 重播请求

前言:当我们本地开发、联调微信支付、微信小程序、微信公众等的一些功能的时候,可能需要外网访问你的本地服务,方便调试本地代码。那么这时,我们需要做的就是将我们本地的端口映射到一个外网的端口上,也就是内网穿透。常见的解决方案有 Ngrok, frp 等.

Ngrok

Ngrok 是一个反向代理,通过在公共端点和本地运行的 Web 服务器之间建立一个安全的通道,实现内网主机的服务可以暴露给外网。Ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放,所以 Ngrok可以很方便地协助服务端程序测试。Ngrok希望帮人节省更多的时间去编程。只需一个命令,便可将一个本地服务器暴露在NAT或防火墙后面的互联网。

Ngrok 安装与使用

  1. 首先官网网下载

  2. 解压下载后的安装包,得到一个ngrok.exe文件。


  3. 运行ngrok.exe文件,可以看到如下界面,展示的内容有该程序的描述、例子、版本号、作者、命令行。Ngrok是一个命令行应用,通过输入指令,执行相对应的功能。


  4. 经过上面的步骤,我们已经完成了安装,接下来需要做的就是对ngrok进行配置。我们需要配置authtoken(账户凭证)。这时,我们需要到 Ngrok官网 注册一个账号,然后在用户中心里可以查到我们的authtoken(账户凭证),authtoken是每个用户的身份凭证,请注意保密。

  5. 复制我们的用户凭证,并在ngrok命令行中,输入下面的命令,按回车键执行。

ngrok authtoken 212jLiCqm6Q9ruSgL0jcAnRtM4d_3Eoki
  1. 执行成功后,命令行界面中会出现下面的信息。此时,代表配置成功。ngrok程序已经在你的用户目录下,创建一个.ngrok2文件夹,并在文件夹中创建一个配置文件ngrok.yml。
Authtoken saved to configuration file: C:\Users\zdxf/.ngrok2/ngrok.yml
  1. 在命令行界面中,执行下面命令,即将本地端口80映射到外网中,如果需要映射其他端口,只需将80改成相对应的端口即可。
ngrok http 80
    1. 执行成功后,会出现如下界面,其中红框标出的,即映射出去的外网地址(http://7dd9-222-90-31-156.ngrok.io)。此时,内网穿透已经完成,此时我们便可通过访问该域名从外网访问本地服务器了。

扩展

ngrok 除了提供端口映射之外,还提供了一个实时的Web UI,您可以在其中查看你的隧道上运行的所有HTTP流量。在启动 ngrok 之后,只需在Web浏览器中打开http://localhost:4040即可检查请求详细信息。

当我们向公开网址发出请求之后,我们将可以在 Web UI 中看到请求和响应的所有详细信息,包括时间,持续时间,标题,查询参数和请求有效负载以及线上的原始字节。


参考资料

https://www.jianshu.com/p/8103f29bbd90
Ngrok官网
Ngrok中文文档

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章