ngrok怎么玩?新手必看的内网穿透指南,老司机都这么用,ngrok怎么玩?新手必看的内网穿透指南,老司机都这么用
"哎我说兄弟,你本地跑的那个项目,客户 *** 活访问不了是吧?"老李叼着烟凑过来,看我电脑上第18次刷新失败的页面。这事儿搁三年前我也犯愁,直到发现了ngrok这个神器——这玩意儿能把本地服务捅到外网去,跟给内网开了个任意门似的。
一、ngrok到底是啥?能吃吗?
简单来说就是个网络快递小哥。你在本地搞了个网站(比如localhost:8080),ngrok能给你生成个像模像样的公网地址(比如https://xxx.ngrok.io),外边的人点这个地址就能访问你本地服务。这可比把代码往服务器上传来传去方便多了,特别是调试微信支付回调这种必须公网地址的功能时。
二、五步搞定基础操作
注册账号领钥匙
去官网(https://ngrok.com)注册个账号,免费版就够用。注册完在后台找到你的authtoken,这玩意儿相当于门禁卡。下载客户端
官网选对应系统的安装包,windows就下.zip,解压出来有个ngrok.exe。别手欠删了啊,这就是你的通关文牒。绑定认证
打开cmd进到解压目录,敲命令:ngrok config add-authtoken 你的authtoken
这步就跟给手机装SIM卡似的,没认证的ngrok就是个板砖。启动服务
假设你本地项目跑在3000端口,输入:ngrok http 3000
唰啦蹦出来个公网地址,赶紧发给客户试试。监控数据
浏览器打开http://127.0.0.1:4040,所有请求响应看得清清楚楚,跟装了监控摄像头似的。
三、高手都这么玩
1. 固定子域名
免费版地址老变?加个-subdomain参数:ngrok http -subdomain=你的域名 3000
不过这功能要付费,白嫖党建议直接复制生成的地址。
2. TCP隧道穿透
不光是网页,连SSH都能映射出去。敲这个:ngrok tcp 22
生成的tcp://x.tcp.ngrok.io:xxxxx,远程办公神器。

3. 批量管理
搞个ngrok.yml配置文件,把常用配置写进去:
yaml复制tunnels:web:addr: 3000proto: httpssh:addr: 22proto: tcp
启动时直接ngrok start --all
,省时省力。
四、这些坑千万别踩
1. 地址突然失效
免费版每重启一次就换地址,重要演示前记得先测试。有次我给投资人演示,重启完地址变了没注意,愣是让人家看了半小时404。
2. 安全漏洞
别拿ngrok暴露数据库这种敏感服务!之前有哥们把MongoDB映射出去,第二天就被勒索了。
3. 网络抽风
有时候国内访问ngrok的服务器会卡,特别是晚高峰。遇到这种情况可以换香港节点,或者考虑自建服务。
个人叨逼叨
用了三年ngrok,最大的感悟就是:工具虽好,可别贪杯啊!临时测试用用没问题,真要长期服务还是得正经买服务器。不过话说回来,这玩意儿真是开发者的急救包——上周五临下班产品经理非要看新功能,三分钟搞定外网访问,准时下班吃火锅去!