使用 ngrok 实现内网穿透

血红的双手。 提交于 2020-01-12 07:25:17

1.内网穿透?

1.1 什么是内网穿透

作为一个开发者,我们想让自己的程序能被其他人访问,但是由于要访问的人和我们程序部署的环境不在同一局域网下,导致我们的程序不能被其他人访问,这时候我们就需要内网穿透,将我们的网络设置成其他人可访问的状态了。

简单来说内网穿透的目的,就是为了能让外网访问你的本地程序。

1.2 常见的内网穿透工具

  • 花生壳
    花生壳既是内网穿透软件、内网映射软件,也是端口映射软件。规模最大,较正规,完善。但并不是免费的,而且费用较高,所以对于平时测试等场景来说,长久的付费并不是一种好的方法哟。

  • Nat123
    nat123是内网端口映射与动态域名解析软件,在内网启动映射后,可在外网访问连接内网网站等应用。也是收费的。

  • NATAPP
    NATAPP基于ngrok的国内内网穿透服务,免费版会强制更换域名,临时用一下可以。

  • frp
    frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。这就开源免费的。frp官网

  • ngrok
    ngrok是一个反向代理,通过在公共的端点和本地运行的Web服务器之间建立一个安全的通道。ngrok可捕获和分析所有通道上的流量,便于后期分析与响应。也是开源免费的。我们今天的主角也就是它了。

2.ngrok

2.1 ngrok的安装使用

ngrok的使用其实并不复杂,

  • 首先进入 官网 注册ngrok账号并下载ngrok
    在这里插入图片描述

  • 登录进入官网后,你可以看到如下界面,已经将如何操作的步骤明确标识了。

    • 1.下载(选择合适自己的版本进行下载)
    • 2.解压 (linux或者mac中使用 unzip 解压, window点击解压即可)
      $ unzip /path/to/ngrok.zip
      
    • 3.安装 Authtoken
      $ ./ngrok authtoken xxxxxxxxxxxxxxxxxxxxx_xxxxxxxxx
      
      authtoken 会存储在 ~/.ngrok2/ngrok.yml
    • 4.启动
      $ ./ngrok http 8088
      
      启动后如图所示:在这里插入图片描述

经过上述操作ngrok 就将本地的8080端口对外网暴露了。

2.2 ngrok的其他功能

  • Web UI
    在我们启动了 ngrok 之后, ngrok为我们提供了一个实时的 Web UI,我们可以在上面查看所有的 HTTP 流量信息, 只需要在浏览器中输入 http://localhost:4040即可。
    在这里插入图片描述

  • 重发请求
    在 Web UI 界面 通过点击 Replay 按钮可重新发起请求。

  • 自定义域名
    如果你觉得自动生成的域名不好记,你还可以在启动是通过 -subdomain 指定二级域名。但是此项功能是收费的哟,所以难记就难记点吧,至少不收费,对吧?

    $ ./ngrok http -subdomain=jiafly 8088
    

以上功能应该足以我们的使用,但是如果还是觉得功能不够全,那我就推荐 ngrok的中文网站,仔细看完应该还会有更多收获。

推荐网站

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!