VSCODE - 连接远程linux服务器,报错XHR failed
问题
使用VScode连接Linux服务器时,报了以下错误
原因
vscode连接服务器时,会在被连接端(即要连接的Linux服务器)创建.vscode-server目录,并在里面下载vscode需要的相关文件。
例如:/home/appadmin/.vscode-server/bin/d037ac076cee195194f93ce6fe2bdfe2969cc82d
这里无法连接是因为vscode无法正常下载服务文件。
知道原因了,就可以开始下载vscode所需要的服务文件。
解决办法
基本步骤
- 查阅vscode的commit_id
- 下载vscode服务文件压缩包
- 文件放到~/.vscode-server/bin/commit_id/内
- vscode重新连接服务器
查阅vscode的commit_id
方法1:vscode的菜单栏->帮助->关于。可以看到vscode的commit_id
方法2:vscode即使连接失败,也会在服务器的~/.vscode-server/bin目录下创建相关的commit_id信息,目录名即为commit_id
下载vscode服务文件压缩包
目前网上查阅的主要下载方法,是使用https://vscode.cdn.azure.cn/stable/COMMIT_ID/vscode-server-linux-x64.tar.gz并替换其中的COMMIT_ID下载,但是多次尝试后发现,该链接无法正常下载需要的压缩包,会出现下图错误。
继续查阅相关错误,可以发现:
“Visual Studio Code官方团队换了新的更新网址,现在https://vscode.cdn.azure.cn不能用了,新的网址是https://http://vscode.download.prss.microsoft.com”
所以,这里我们不再使用https://vscode.cdn.azure.cn开头的网址下载压缩包,替换为:
https://vscode.download.prss.microsoft.com/dbazure/download/stable/COMMIT_ID/vscode-server-linux-x64.tar.gz
需要注意的是,要把里面的COMMIT_ID替换为自己使用的
上面的下载网址可以直接复制到浏览器下载;也可以使用wget下载
文件放到~/.vscode-server/bin/commit_id/内
1.使用sftp或者scp将压缩包推到链接的服务器上,这里使用scp
基本用法为:scp file user@remote_server_addr:path
file:要传送的文件
user:登录服务器的用户
remote_server_addr:服务器ip地址
path:要传送到的路径
或者若支持拖拽,直接拖到目标路径即可
2.tar -xzvf vscode-server-linux-x64.tar.gz解压文件
解压后会得到vscode-server-linux-x64文件夹,将该文件夹内部的所有文件放到~/.vscode-server/bin/COMMIT_ID内。
例如我的COMMIT_ID为f1b07bd25dfad64b0167beb15359ae573aecd2cc,则最终效果为:
vscode重新连接服务器
最后重新使用vscode的remote-ssh插件链接服务器即可,链接过程这里不再细说。
详见:https://www.cnblogs.com/frankcui/p/17835108.html
参考链接
非常感谢各位大佬!!
- VSCODE使用Remote-SSH连接Linux服务器报`XHR Failed`错误解决办法: https://blog.csdn.net/sgxylwz010/article/details/135947781
- 解决 Windows 端 VS Code “无法与 “…“ 建立连接:XHR failed.” 问题
- 解决Visual Studio Code 更新后一直卡在下载vscode-server问题的方法