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
authtoken 会存储在$ ./ngrok authtoken xxxxxxxxxxxxxxxxxxxxx_xxxxxxxxx
~/.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的中文网站,仔细看完应该还会有更多收获。
推荐网站
- ngrok官网
- ngrok文档