Help us learn about your current experience with the documentation. Take the survey.

使用自签名证书的 VS Code 扩展

即使你的 GitLab 实例使用自签名 SSL 证书,你仍然可以使用 VS Code 的 GitLab Workflow 扩展。

如果你还使用代理连接到 GitLab 实例,请在 issue 314 中告诉我们。如果你完成这些步骤后仍有连接问题,请查看 epic 6244,其中链接了 GitLab Workflow 扩展的所有现有 SSL 问题。

使用自签名 CA 的扩展

先决条件:

  • 你的 GitLab 实例使用由自签名证书颁发机构(CA)签名的证书。
  1. 确保你的 CA 证书已正确添加到系统中,以便扩展能够正常工作。VS Code 会读取系统证书存储,并将所有 node http 请求修改为信任这些证书:

    %%{init: { "fontFamily": "GitLab Sans" }}%%
    graph LR
       accTitle: 自签名证书链
       accDescr: 显示一个自签名 CA,它签署了 GitLab 实例证书。
    
       A[自签名 CA] -- 签署 --> B[你的 GitLab 实例证书]
    

    更多信息,请参阅 Visual Studio Code 问题跟踪器中的 WSL 中安装 Python 支持时的自签名证书错误

  2. 在你的 VS Code settings.json 中,设置 "http.systemCertificates": true。默认值是 true,所以你可能不需要更改这个值。

  3. 根据你的操作系统遵循以下说明:

Windows

这些说明在 Windows 10 和 VS Code 1.60.0 上进行了测试。

确保你可以在证书存储中看到你的自签名 CA:

  1. 打开命令提示符。
  2. 运行 certmgr
  3. 确保你在 受信任的根证书颁发机构 > 证书 中看到你的证书。

Linux

这些说明在 Arch Linux 5.14.3-arch1-1 和 VS Code 1.60.0 上进行了测试。

  1. 使用你操作系统的工具来确认你可以将自签名 CA 添加到系统中:
    • update-ca-trust(Fedora、RHEL、CentOS)
    • update-ca-certificates(Ubuntu、Debian、OpenSUSE、SLES)
    • trust(Arch)
  2. 确认 CA 证书在 /etc/ssl/certs/ca-certificates.crt/etc/ssl/certs/ca-bundle.crt 中。 VS Code 检查此位置

MacOS

这些说明未经测试,但应该能按预期工作。如果你可以确认此设置,请创建一个包含更多信息的文档问题。

确保你在钥匙串中看到自签名 CA:

  1. 转到 Finder > Applications > Utilities > Keychain Access
  2. 在左侧栏中,选择 System
  3. 你的自签名 CA 证书应该在列表中。