实现的功能:如何让任何人都能访问我电脑上的文件(通过外网域名来访问本地资源)
如果本地有多级路由也可以使用。
如何使用:
1 下载并解压,会有一个ngrok程序
unzip /path/to/ngrok.zip
2 配置ngrok
./ngrok authtoken 你的token。可以在ngrok网站注册,在dashboard的https://dashboard.ngrok.com/get-started/setup页面里有
3 在本地启动服务。 例如在python -m http.sever 则本地可以通过http://localhost:8000/访问对应文件夹内的文件
4 启动ngrok
./ngrok http 8000
此时窗口会显示如下信息:
ngrok by @inconshreveable (Ctrl+C to quit)
Session Status online
Account YOURNAME (Plan: Free)
Version 2.3.35
Region United States (us)
Web Interface http://127.0.0.1:4040
Forwarding http://b4c8673d6688.ngrok.io -> http://localhost:8000
Forwarding https://b4c8673d6688.ngrok.io -> http://localhost:8000
Connections ttl opn rt1 rt5 p50 p90
4 0 0.00 0.00 0.00 0.00
HTTP Requests
————-
GET /favicon.ico 404 File not found
GET / 200 OK
GET /favicon.ico 404 File not found
GET / 200 OK
说明Ngrok已经启动,任何人通过https://b4c8673d6688.ngrok.io就可以访问了
注意:免费版的Ngrok,每次启动Ngrok,对应的二级域名都会变化。付费版的可以绑定域名。
类似工具:花生壳、localtunnel.me、pagekite等
映射公网的几种方式:
1:1 动态域名解析+端口映射(公网环境)
2: 反向代理(内网环境)
More: https://www.itdaan.com/tw/619b62623b0beddeabb5c2d626d04ab0
上面是代理本机。也可以代理局域网内其他机器和端口. 比如代理192.168.1.20的23端口,可以这么写:ngrok tcp 192.168.1.20:23
./ngrok tcp 192.168.1.20:23
ngrok (Ctrl+C to quit)
Session Status online
Account XXXX (Plan: Free)
Version 3.0.3
Region Japan (jp)
Latency 85.875259ms
Web Interface http://127.0.0.1:4040
Forwarding tcp://0.tcp.jp.ngrok.io:19170 -> 192.168.1.20:23
Connections ttl opn rt1 rt5 p50 p90
0 0 0.00 0.00 0.00 0.00