Agent.Space 博客

Claude Code 在远端生成的网页,怎么在本机预览?

远端 Claude Code 给出的 localhost 为什么本机打不开?用 SSH 端口转发查看开发网页,排查服务与连接,并分清预览和公开发布。

Claude Code 在远端启动开发服务器后,它给出的 localhost 属于那台远端电脑,不是你打开浏览器的笔记本。如果你有这台主机的 SSH 权限,可以通过本地 SSH 隧道查看远端网页,不必先把开发服务器发布到互联网。

本文针对普通、可通过 SSH 访问的主机,不是所有 Claude 托管云环境都适用。它解决私下检查网页的问题,不等于发布正式网站。

先确认远端服务真的启动了

让 Claude 说明项目目录、启动命令、监听地址、端口和启动错误。使用项目自己的操作说明,不要假设所有应用都用同一种软件包管理工具。

假设远端 HTTP 服务使用 3000 端口,在远端终端检查:

sh
curl -I http://127.0.0.1:3000

收到 HTTP 响应,只能证明有服务回答。登录跳转、错误响应或不支持 HEAD 请求,都需要进一步判断。如果连接本身失败,先不用折腾本机浏览器:检查服务是否启动、是否换了端口,或者是否位于另一个容器网络里。

在自己的电脑上打开私有隧道

在自己的电脑终端执行下面的命令,将 user@remote-host 替换成你有权限使用的 SSH 用户和主机:

sh
ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:3001:127.0.0.1:3000 user@remote-host

OpenSSH 官方说明介绍了 -L 本地转发和 -N 只建立隧道、不执行远端命令的用途。这里把本机 3001 端口转发到远端 SSH 主机所见的 3000 端口;明确绑定本机回环地址,避免在所有网络接口上监听。

保持这个终端打开,在本机浏览器访问 http://127.0.0.1:3001。这些端口只是示例:远端端口要匹配实际服务,本地端口要没有被占用。第一次遇到陌生主机指纹时,向管理员或供应方核实,不要直接关闭 SSH 主机检查。

哪一层失败,就查哪一层

现象接着检查什么
本地端口已被占用换一个本地端口,浏览器也使用新端口
SSH 登录或主机验证失败先处理 SSH 访问,不是网页问题
隧道打开,但网页打不开重新检查远端服务、端口和容器边界
页面出现了,图片或实时刷新失败检查应用里的地址、Host 校验和 WebSocket 配置
看到的仍是旧内容确认源文件版本,以及实际提供网页的进程

不要把公开服务器或关闭应用安全检查当成通用修复。隧道打开成功,也不能证明它连接的应用是正常的。

如果已经使用 VS Code Remote-SSH,可以通过 Ports 面板进行端口转发。使用面板实际给出的本地地址;它可能分配不同的本地端口。

预览和发布是两回事

私有开发预览用于检查工作,不是长期公开网址。相关服务器或隧道停止后,它就可能无法访问。准备扩大访问范围前,检查登录权限、密钥、数据和目标读者。不同交付方式见预览、发布与导出指南。

Agent.Space 云端 Workspace 的文件预览、开发预览和成员站点预览,在预览与分享手册里有具体说明。里面的站点发布步骤不能直接照搬到电脑 Workspace;后者目前没有相同的 Sites 入口。

选择适合你的 Agent.Space 路径

如果工作已经放在云端 Workspace,先打开 Agent.Space,找到实际保存的结果,再使用对应预览,检查后才决定是否发布。这样审阅仍与项目连接,而不是把聊天里的回复当成交付完成。

如果需要查看已连接 Mac 上的真实浏览器,可以了解 Remote Screen。它操作的是远端桌面,不会自动把每个应用变成公网服务。需要桌面访问时再选它,不要仅因为一个 localhost 链接打不开就更换整套环境。