啥是 ngrok
ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放
ngrok 有啥用
我们有时候会需要临时地将一个本地的 Web 网站部署到外网,以供他人体验评价或协助调试等等,通常我们会这么做:
- 找到一台运行于外网的 Web 服务器
- 服务器上有网站所需要的环境,否则自行搭建
- 将网站部署到服务器上
- 调试结束后,再将网站从服务器上删除
此例子背景:出差要访问公司内网 git 仓库以及 gitlab
下载 ngrok
由于 ngrok 是一个开源程序,官网服务在国外,国内访问国外速度慢.
所以使用钉钉提供的 ngrok
钉钉官方给出的原理图
下载工具
git clone https://github.com/open-dingtalk/pierced.git
#### 启动ngrok
启动工具,执行命令“./ding -config=./ding.cfg -subdomain=域名前缀 端口”,以 linux 为例:
cd mac_64
chmod 777 ./ding
./ding -config=./ding.cfg -subdomain=abcde 8080
启动成功后如下图
启动完客户端后,你访问 http://abcde.vaiwan.com/xxxxx 都会映射到 http://127.0.0.1:8080/xxxxx
注意:
1.你需要访问的域名是 http://abcde.vaiwan.com/xxxxx 而不是 http://abcde.vaiwan.com:8082/xxxxx
2.你启动命令的 subdomain 参数有可能被别人占用,尽量不要用常用字符,可以用自己公司名的拼音,例如:alibaba、dingding 等。
3.可以在本地起个 http-server 服务,放置一个 index.html 文件,然后访问 http://abcde.vaiwan.com/index.html 测试一下。
命令参数说明
参数 | 说明 |
---|---|
-config | 内网穿透的配置文件,按命令照示例固定为钉钉提供的./ding.cfg,无需修改 |
-subdomain | 您需要使用的域名前缀,该前缀将会匹配到“vaiwan.com”前面,例如你的 subdomain 是 abcde,启动工具后会将 abcde.vaiwan.com 映射到本地。 |
端口 | 您需要代理的本地服务 http-server 端口,例如你本地端口为 8080 等 |
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于