使用ssh搭建localhost.run本地隧道后访问URL提示页面无法工作怎么办
故障原因与修复方案
按优先级从高到低排查:
- 本地服务端口不匹配/服务未正常运行
你使用的命令ssh -R 80:localhost:8080 nokey@localhost.run逻辑是将平台侧的公网端口映射到本地8080端口,只要本地8080端口没有正常运行可访问的web服务,公网访问就会直接返回页面不可用错误。
排查操作:先在本地浏览器访问http://localhost:8080,确认本地能正常加载应用内容。如果本地访问失败,优先修复本地web服务,直到本地访问正常再启动隧道;如果本地服务实际监听的不是8080端口(比如常见的3000、5173、8000端口),将命令中对应端口替换为实际监听端口即可,例如服务跑在5173端口时命令改为ssh -R 80:localhost:5173 nokey@localhost.run。 - SSH隧道静默断连
CMD环境下默认SSH连接没有保活机制,网络波动、短时间无请求都会导致连接后台断开,命令行窗口没有报错但实际转发规则已经失效。
修复操作:执行隧道命令时增加保活参数,使用ssh -o ServerAliveInterval=60 -R 80:localhost:8080 nokey@localhost.run启动隧道,每60秒自动发送心跳包维持连接;如果已经出现断连,按Ctrl+C终止当前SSH进程,重新执行命令获取新的公网URL访问即可。 - 免费节点临时故障
localhost.run的免费节点存在偶发调度异常,本地配置完全正确的情况下,分配到故障节点也会返回页面不可用提示。
修复操作:直接终止当前隧道进程重新执行命令,更换平台分配的新域名测试,多数情况下重试1-2次即可命中正常节点。 - 本地安全规则拦截
Windows防火墙、第三方安全软件可能拦截SSH进程的入站转发流量,导致公网请求无法送达本地服务。
修复操作:临时关闭防火墙测试访问,如果恢复正常,在防火墙入站规则中为系统自带SSH程序(路径一般为C:\Windows\System32\OpenSSH\ssh.exe)添加入站放行规则即可。
内容的提问来源于stack exchange,提问作者user18014778
相关产品推荐
相关产品推荐

