Node与React环境下Localtunnel执行lt命令无返回问题
Localtunnel 执行无公网URL输出排查及解决
按以下顺序逐次排查,定位问题后直接对应处理即可:
- 先确认本地服务状态:Localtunnel 仅做流量转发,不会自动启动你的本地Node/React服务,先确认3000端口的开发服务已经正常运行。macOS/Linux环境执行
lsof -i:3000、Windows环境执行netstat -ano | findstr :3000,能查到对应服务进程才说明本地端口正常监听;如果端口没被占用,lt命令会直接卡住无任何输出。 - 修复Localtunnel安装异常:全局安装的localtunnel包可能因为版本过旧、依赖损坏,和官方服务端接口不兼容导致无响应。先执行
npm uninstall -g localtunnel卸载现有版本,再执行npm install -g localtunnel@latest安装最新稳定版后重试。 - 排查自定义子域名问题:你当前命令里使用的自定义子域名长度超过30位,这类超长字符串、或者已被占用的子域名,在服务端异常时不会返回报错,会直接卡住连接。先去掉自定义子域名参数,执行基础命令
lt --port 3000测试:如果该命令能正常返回随机分配的公网URL,说明问题出在自定义子域名上,换8-20位的字母数字组合短域名重试即可。 - 排查网络连通性问题:本地网络如果开启了系统代理、VPN、企业防火墙规则,很容易拦截Localtunnel依赖的WebSocket长连接,导致握手阶段卡住无输出。先暂时关闭代理/VPN、切换到个人手机热点网络重试命令;也可以加上调试参数
lt --port 3000 --print-requests执行,看运行日志卡在哪一步:如果停在连接上游节点的步骤,就能确定是网络拦截导致的问题。 - 服务端故障兜底处理:Localtunnel是免费公共服务,没有服务可用性承诺,连续数天服务异常属于常见情况,如果以上排查步骤都无效,说明当前你所在区域连接的官方节点出现故障,可以临时换其他内网穿透工具完成本地开发联调,等官方节点恢复后再切回即可。
内容的提问来源于stack exchange,提问作者Bear Bile Farming is Torture
相关产品推荐
相关产品推荐

