一键内网穿透, 让别人也能访问你的本地服务
一键内网穿透, 让别人也能访问你的本地服务
很多时候,我们本地已经把服务跑起来了,但别人就是访问不到。
比如下面这些场景:
- 前后端联调,需要把本地接口临时暴露给同事;
- 想把自己的 demo 发给别人体验;
- 在家里写了个小工具,想让外网设备也能访问;
- 临时展示项目,又不想专门买服务器部署一套。
这时候就会用到“内网穿透”。
什么是内网穿透?
简单说,就是把你本地电脑上的服务,通过一个中间通道暴露到公网,让外部用户也能访问。
比如你本地启动了一个 Web 服务:
1 | http://localhost:3000 |
默认情况下,这个地址只有你自己的电脑能访问。内网穿透工具的作用,就是给它“映射”出一个公网地址,让别人也能打开。
这类方案特别适合:
- 临时演示
- 开发联调
- 轻量测试
- 短时间分享本地服务
如果你只是想临时把本地服务分享出去,其实不一定非要自己折腾 VPS、反向代理和域名。现在已经有一些现成工具可以把这件事做得很简单。
我常用的一个方案:Pinggy
如果使用时间不长、流量要求不高,那么像 Pinggy 这样的工具已经足够方便。
它最大的优点就是:几乎不用配置,复制一条命令就能把本地服务暴露出去。
登录 Pinggy 后,输入你本地服务所在的端口号,它会直接生成一条命令。把这条命令复制到终端执行,就能建立一个公网访问通道。
它的原理是什么?
本质上,它还是利用了 SSH 端口转发的思路。
也就是说,你的本地服务并不是“真的直接有了公网 IP”,而是通过和远端服务器建立连接,再由远端服务器帮你把公网请求转发回来。
如果你对这个原理感兴趣,也可以看我之前写的文章:
https://baizhukui.com/2022/08/03/ssh端口转发及其应用/
自己手动搭也不是不行,但对大多数只是想临时分享本地服务的人来说,现成工具明显省事得多。
怎么用?
假设你本地有一个运行在 3000 端口的服务,大致流程是这样的:
- 先确保本地服务已经能在自己电脑上正常访问;
- 打开 Pinggy,填写本地端口;
- 复制它生成的命令;
- 在终端执行该命令;
- 得到一个可从公网访问的域名。
之后你只需要把这个公网地址发给别人,对方就能直接访问你的本地服务。
Pinggy 一般会给你一个域名,并支持 HTTP / HTTPS 访问。这样别人访问时通常不需要自己再拼接端口,体验会自然很多。

Windows 下的一个小坑
我当时在 Windows 上试的时候,发现用 cmd 执行命令会要求输入密码,而且不管怎么输都不对。
后来换成 Git Bash 执行,就正常了。
所以如果你在 Windows 下也遇到类似问题,可以优先试试:
- Git Bash
- PowerShell
- Windows Terminal 中的 Git Bash / WSL 环境
很多时候不是工具本身坏了,而是终端环境兼容性不太一样。
如何停止内网穿透?
停止方法很简单:
- 在当前终端里按
Ctrl + C; - 或者直接关闭当前会话窗口;
- 本质上就是断开 SSH 连接。
一旦连接关闭,公网入口也就失效了。
适合什么场景,不适合什么场景?
我觉得这类工具非常适合下面这些事情:
- 临时给别人看一个 demo;
- 前后端快速联调;
- 在没有服务器的情况下短时间共享服务;
- 排查“别人机器访问不到我本地接口”的问题。
但它并不适合:
- 长期稳定运行的线上服务;
- 对延迟、带宽、可靠性要求高的场景;
- 涉及敏感数据的正式业务系统;
- 需要严格权限控制和审计的生产环境。
说白了,这更像一个“开发和演示效率工具”,而不是正经生产架构的一部分。
一定要注意安全问题
内网穿透虽然方便,但本质上是在把你本地服务暴露给公网,所以一定要有安全意识。
至少要注意这些事:
1. 不要随便暴露管理后台
像数据库管理页面、监控后台、NAS 面板、路由器管理页面这类东西,最好不要为了图方便直接穿透出去。
2. 没有鉴权的接口不要暴露
如果你的本地服务里有未登录可访问的调试接口、文件上传接口、管理接口,直接开放出去是有风险的。
3. 不要把它当成长期公网方案
临时演示没问题,但长期使用还是应该上正规的部署方案,比如服务器、反向代理、HTTPS、访问控制、审计日志这些都要跟上。
4. 注意本地环境里有没有敏感信息
有些 demo 服务会顺手连上自己的本地数据库、开发环境配置或测试账号。如果你把它直接暴露到公网,就要确认这些内容不会被外部人误访问。
总结
内网穿透本质上是在解决一个非常现实的问题:怎样以最低成本,把本地服务临时分享给别人。
如果只是短时间演示、联调、测试,那么像 Pinggy 这样的工具确实很好用:
- 上手快;
- 配置少;
- 不需要自己维护服务器;
- 对个人开发者非常友好。
但它的边界也很明显:适合临时、轻量、开发场景,不适合长期、正式、敏感业务。
把这个边界想清楚,你就能既享受到它的便利,又不至于踩进安全和稳定性的坑里。





