通过Remote-SSH远程时,VS Code调试启动客户端显示空白页面
解决VS Code Remote SSH连EC2调试客户端出现about:blank空白页的问题
1. 核对launch.json核心配置
别让调试器找错地址!确保launch.json里的url字段指向本地转发后的端口,而非EC2的公网/内网IP。比如EC2上项目监听3000端口,Remote SSH转发到本地3000,那url就得写http://localhost:3000,示例配置片段:
{ "version": "0.2.0", "configurations": [ { "type": "chrome", "request": "launch", "name": "Launch Chrome", "url": "http://localhost:3000", "webRoot": "${workspaceFolder}/src" } ] }
2. 确认端口转发实际生效
- 打开VS Code的「远程资源管理器」,展开你的EC2实例,查看「端口」列表里是否有项目端口的转发记录,状态需显示为「本地地址:端口 -> 远程地址:端口」。
- 手动在本地浏览器输入
http://localhost:转发的端口,能正常打开页面再继续调试。如果手动访问失败,尝试重新加载Remote SSH会话,或手动添加转发(命令面板搜索Remote-SSH: Forward Port from Remote)。
3. 检查EC2安全组与本地防火墙
VS Code做了端口转发,EC2本身限制访问也没用:
- 登录AWS控制台查看EC2的安全组规则,确保允许你本地机器的IP访问项目监听的端口(测试阶段可临时开放0.0.0.0/0,生产环境记得及时修改)。
- 登录EC2终端,用命令排查本地防火墙放行情况:
sudo ufw status # 查看ufw规则 sudo iptables -L # 查看iptables规则
若端口未放行,手动添加规则,比如sudo ufw allow 3000。
4. 先确认项目本身能正常启动
别直接调试,先在EC2终端手动启动项目,再用curl http://localhost:3000(替换为你的项目端口)测试。如果EC2本地都访问不了,先解决项目启动问题——比如依赖未安装、配置文件错误等。
5. 排查调试器与浏览器兼容性
使用Chrome调试器时,检查本地Chrome版本和VS Code的Chrome调试插件版本是否差距过大,要么更新插件,要么换用Edge调试器测试,版本不兼容可能导致这类玄学问题。
6. 重置Remote SSH会话
有时候会话缓存会出问题,直接关闭VS Code所有窗口,重新打开后连接EC2,再启动调试,说不定就能解决。
内容的提问来源于stack exchange,提问作者Jonny Dungeons
相关产品推荐
相关产品推荐

