You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用VS Code Remote Container时出现unable to get local issuer certificate错误

你遇到的SSL证书报错发生在VS Code Server预下载阶段,这个过程由WSL2环境下的Remote - Containers插件逻辑执行,早于容器创建、Dockerfile配置生效、devcontainer settings加载的阶段,因此你修改容器内部的证书、wget配置、容器内环境变量、容器级VS Code设置都无法覆盖这个阶段的请求校验。


解决步骤

1. 给WSL2系统全局安装公司根证书

这是最稳妥的持久化方案,操作如下:

  • 把公司的根证书crt文件从Windows侧复制到WSL2的证书目录:
    sudo cp /mnt/c/你存放证书的路径/公司证书名.crt /usr/local/share/ca-certificates/
    
  • 执行证书更新命令:
    sudo update-ca-certificates
    

2. 配置WSL2全局Node.js证书环境变量

VS Code Server下载逻辑基于Node.js运行,默认不会主动读取系统CA证书存储,需要额外配置环境变量:
在WSL2的用户配置文件(~/.bashrc/~/.zshrc,根据你用的shell选择)末尾添加以下内容:

# 替换为你实际的公司根证书路径
export NODE_EXTRA_CA_CERTS="/usr/local/share/ca-certificates/公司证书名.crt"

添加后执行source ~/.bashrc(或者对应shell的配置文件)使配置生效,再尝试启动devcontainer即可。

3. 临时应急方案(不推荐长期使用)

如果需要快速验证,可以在启动VS Code前临时关闭Node.js的TLS证书校验:
在WSL2终端执行以下命令后启动VS Code:

export NODE_TLS_REJECT_UNAUTHORIZED=0
code .

4. 手动下载VS Code Server跳过自动拉取

如果以上方案都无法执行,也可以手动下载对应commit版本的VS Code Server linux-x64包,放到WSL2的指定路径跳过自动下载:

  • 把下载好的压缩包传到WSL2后执行:
    # 替换为你报错信息里的commit号
    COMMIT_ID=3a6960b964327f0e3882ce18fcebd07ed191b316
    mkdir -p ~/.vscode-server/bin/${COMMIT_ID}
    tar -zxf 你下载的vscode-server包名.tar.gz -C ~/.vscode-server/bin/${COMMIT_ID} --strip 1
    
    之后再启动devcontainer就不会触发下载校验逻辑。

内容的提问来源于stack exchange,提问作者ckihm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 00:45:10