# 为 GitHub Copilot 配置网络设置

可以通过 HTTP 代理连接到 GitHub Copilot 并使用自定义证书。

<div class="ghd-tool visualstudio">

> \[!NOTE] GitHub Copilot 当前无法与 Visual Studio for Mac 结合使用。

</div>

可以通过 HTTP 代理连接到 Copilot 并使用自定义证书。 如果你正在使用需要代理服务器的企业网络，或者需要检查 Copilot 的安全连接内容，这会很有用。 请参阅 [GitHub Copilot 的网络设置](/zh/copilot/concepts/network-settings)。

## 为 Copilot 配置代理设置

可以在所选编辑器中配置 Copilot HTTP 代理。 要查看编辑器的说明，请使用本文顶部的选项卡。

<div class="ghd-tool jetbrains">

1. 在 JetBrains IDE 中，单击“文件”\*\*\*\* 菜单 (Windows) 或菜单栏中的应用程序名称 (macOS)，然后单击“设置”\*\*\*\*。
2. 在“外观与行为”下，单击“系统设置”，然后单击“HTTP 代理”  。
3. 依次选择“手动代理配置”和“HTTP”。
4. 在“主机名”字段中，输入代理服务器的主机名，并在“端口号”字段中输入代理服务器的端口号。
5. （可选）若要配置为 Copilot 忽略证书错误，请在左侧栏中单击“ **外观和行为**”，单击“ **系统设置**”，单击“ **服务器证书**”，然后选择或取消选择 **“自动接受不受信任的证书**”。

   > \[!WARNING] 忽略证书错误可能会导致安全问题，因此不建议这样做。

如果已配置代理但仍遇到连接错误，请参阅 [排查 GitHub Copilot 的网络错误](/zh/copilot/how-tos/troubleshoot-copilot/troubleshoot-network-errors#troubleshooting-proxy-errors)。

### 基本身份验证

Copilot for JetBrains 支持基本身份验证。 要进行身份验证，你可以在“手动代理配置”页面上选择“代理身份验证”\*\*\*\*，然后输入你的凭据。

这会将你的凭据以纯文本形式存储在编辑器的设置中。 或者，你可能希望将凭据包含在代理 URL 中（例如： `http://USERNAME:PASSWORD@10.203.0.1:5187/`），然后将此 URL 设置为 [代理设置 Copilot](/zh/copilot/concepts/network-settings#proxy-settings-for-copilot)中列出的受支持的环境变量之一。

</div>

<div class="ghd-tool vscode">

1. 在“文件”菜单中，导航到“首选项”，然后单击“设置”  。

   ![Visual Studio Code 设置的屏幕截图。](/assets/images/help/copilot/vsc-settings.png)
2. 在“设置”选项卡的左侧面板中，单击“应用程序”，然后选择“代理” 。
3. 在“Proxy”下的文本框中，键入代理服务器的地址，例如 `http://localhost:3128`。
4. （可选）要将 Copilot 配置为忽略证书错误，请在“代理严格 SSL”下选中或取消选中该复选框。

   > \[!WARNING] 忽略证书错误可能会导致安全问题，因此不建议这样做。

如果已配置代理但仍遇到连接错误，请参阅 [排查 GitHub Copilot 的网络错误](/zh/copilot/how-tos/troubleshoot-copilot/troubleshoot-network-errors#troubleshooting-proxy-errors)。

### 基本身份验证

适用于 Copilot 的 VS Code 支持基本身份验证。 要进行身份验证，你可以将凭据包含在代理 URL 中，例如：`http://USERNAME:PASSWORD@10.203.0.1:5187/`。 可以将此 URL 存储在设置中 VS Code ，也可以存储在 [代理设置 Copilot](/zh/copilot/concepts/network-settings#proxy-settings-for-copilot)中列出的其中一个环境变量中。

</div>

<div class="ghd-tool visualstudio">

Copilot for Visual Studio读取 Windows 中的代理设置。 有关在 Windows 上配置代理设置的信息，请参阅 Microsoft 文档的“在 Windows 中使用代理服务器”[](https://support.microsoft.com/en-us/windows/use-a-proxy-server-in-windows-03096c53-0554-4ffe-b6ab-8b1deee8dae1)中的“手动设置代理服务器连接”下的说明。

如果已配置代理但仍遇到连接错误，请参阅 [排查 GitHub Copilot 的网络错误](/zh/copilot/how-tos/troubleshoot-copilot/troubleshoot-network-errors#troubleshooting-proxy-errors)。

### 基本身份验证

虽然Copilot for Visual Studio会从 Windows 读取代理设置，但它不会从这些 Windows 设置中获取身份验证凭据。

如果需要向代理进行身份验证，可以尝试以下操作之一：

1. 通过将环境变量 `COPILOT_USE_DEFAULTPROXY` 设置为 `true`，可以启用默认代理凭据的传递。
   * Windows 示例\*\*\*\*：打开命令提示符，并运行以下命令：

     ```bash
     setx COPILOT_USE_DEFAULTPROXY true
     ```

     这会为你的用户帐户永久设置该变量。 重启需要使用此变量的任何应用程序。
2. 可以在代理 URL 中包括凭据（例如： `http://USERNAME:PASSWORD@10.203.0.1:5187/`），然后将此 URL 设置为 [代理设置 Copilot](/zh/copilot/concepts/network-settings#proxy-settings-for-copilot)中所列的受支持环境变量之一。

</div>

<div class="ghd-tool vscode">

### 替代 VS Code 中的默认 SPN

1. VS Code Command Palette按 <kbd>Shift</kbd>+<kbd>命令</kbd>+<kbd>P</kbd>（Mac）/<kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>P</kbd>（Windows/Linux）打开。
2. 键入 `settings`，然后单击“首选项：打开用户设置 (JSON)”\*\*\*\*。
3. 在 JSON 对象中，添加以下顶级属性，以将 `YOUR-SPN` 替换为你的代理服务的正确 SPN。

   ```json copy
   "http.proxyKerberosServicePrincipal": "YOUR-SPN",
   ```

</div>

<div class="ghd-tool jetbrains">

### 替代 JetBrains IDE 中的默认 SPN

1. 在 JetBrains IDE 中，单击“文件”\*\*\*\* 菜单 (Windows) 或菜单栏中的应用程序名称 (macOS)，然后单击“设置”\*\*\*\*。

2. 在左侧栏中，单击 **工具**，单击 **GitHub Copilot**，然后单击“ **网络**”。

3. 在“替代 Kerberos 代理服务主体名称”字段中，键入代理服务的 SPN。

</div>

## 安装自定义证书

通常，如果你使用的是公司设备，公司的 IT 部门应已在计算机上安装任何必需的证书。 如果你需要安装证书，请参阅以下说明。

> \[!WARNING] 安装自定义证书就是指示计算机信任证书创建者，这可能会导致创建者截获来自你的计算机的所有互联网流量。 应非常小心地验证你是否安装正确的证书。

* 对于 Windows，请参阅 Microsoft 文档中的[安装受信任的根证书](https://learn.microsoft.com/en-us/skype-sdk/sdn/articles/installing-the-trusted-root-certificate)。
* 有关 macOS，请参阅钥匙串访问用户指南中的[在 Mac 上使用钥匙串访问将证书添加到钥匙串](https://support.apple.com/en-gb/guide/keychain-access/kyca2431/mac)。
* 对于 Linux，请参阅 Ubuntu 文档中 [的信任存储中安装根 CA 证书](https://ubuntu.com/server/docs/how-to/security/install-a-root-ca-certificate-in-the-trust-store/) 。 类似的说明应适用于大多数 Linux 发行版。

如果已安装证书但 Copilot 未检测到证书，请参阅 [排查 GitHub Copilot 的网络错误](/zh/copilot/how-tos/troubleshoot-copilot/troubleshoot-network-errors#troubleshooting-certificate-related-errors)。