如何解决VSCode本地下载vscode-server时的XHR错误
问题
通过SSH连接远程主机时,VSCode在远程端下载vscode-server失败后,尝试本地下载服务端文件再通过SSH复制到远程,但过程中出现XHR错误。VSCode输出及开发者工具报错如下:
VSCode输出日志:
> Trigger local server download > 8d402d7e9ae2:trigger_server_download > artifact==cli-alpine-x64== > destFolder==/home/rschmidtner/.vscode-server== > destFolder2==/vscode-cli-af28b32d7e553898b2a91af498b1fb666fdebe0c.tar.gz== > 8d402d7e9ae2:trigger_server_download_end > Waiting for client to transfer server archive... > Waiting for /home/rschmidtner/.vscode-server/vscode-cli-af28b32d7e553898b2a91af498b1fb666fdebe0c.tar.gz.done and vscode-server.tar.gz to exist > [14:17:21.193] Got request to download on client for {"artifact":"cli-alpine-x64","destPath":"/home/rschmidtner/.vscode-server/vscode-cli-af28b32d7e553898b2a91af498b1fb666fdebe0c.tar.gz"} [14:17:21.193] Downloading VS Code server locally... [14:17:21.332] Terminating local server [14:17:21.333] Exec server for ssh-remote+scedge01 failed: Error: XHR failed [14:17:21.334] Error opening exec server for ssh-remote+scedge01: Error: XHR failed [14:17:21.336] Local server exit: 15
开发者工具报错:
ERR XHR failed: CodeExpectedError: XHR failed at ee.rb (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:2718:21055) at async ee.qb (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:2718:20332) at async ee.Ob (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:2719:11484) at async ee.jb (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:2718:17969)
已确认代理域名和端口正确,调整VSCode代理设置无效,本地安装扩展无XHR错误,求解决方法。
解决方案
手动下载并上传vscode-server文件
- 从报错日志提取版本号
af28b32d7e553898b2a91af498b1fb666fdebe0c和目标架构cli-alpine-x64 - 手动下载对应tar.gz文件,通过SCP上传到远程主机的
/home/rschmidtner/.vscode-server/目录 - 远程主机进入该目录,执行解压命令:
tar -xzf vscode-cli-af28b32d7e553898b2a91af498b1fb666fdebe0c.tar.gz - 创建完成标记文件:
touch vscode-cli-af28b32d7e553898b2a91af498b1fb666fdebe0c.tar.gz.done - 重启VSCode后重新连接远程主机
- 从报错日志提取版本号
调整VSCode代理细节配置
- 打开VSCode设置,搜索
http.proxyStrictSSL并设置为false,绕过SSL证书验证 - 确认
http.proxy和https.proxy配置正确,若代理需认证,补充http.proxyAuthorization字段 - 添加代理排除规则:
"http.proxyExclude": ["*.code.visualstudio.com"],让VSCode直接访问服务器域名
- 打开VSCode设置,搜索
重置远程SSH扩展状态
- 关闭VSCode,删除本地
~/.vscode/extensions/ms-vscode-remote.remote-ssh-*目录下的缓存文件 - 删除远程主机
/home/rschmidtner/.vscode-server/目录下所有文件 - 重新打开VSCode,重装Remote SSH扩展后尝试连接
- 关闭VSCode,删除本地
排查本地网络限制
- 检查本地防火墙是否阻止VSCode访问
update.code.visualstudio.com - 切换网络环境(如从内网换为个人热点),排除网络策略限制
- 检查本地防火墙是否阻止VSCode访问
内容的提问来源于stack exchange,提问作者zwithouta
相关产品推荐
相关产品推荐

