VSCode代理配置导致的SSL证书验证错误及解决方案
在使用 VSCode 的 GitHub Copilot 或其他网络功能时,因代理配置不当可能触发 SSL 证书验证错误,导致连接失败或功能异常。本文分析了错误原因,并提供了两种配置代理的解决方案:通过 `settings.json` 文件直接配置,或通过 VSCode 设置界面调整代理。配置完成后,保存并重启 VSCode 即可解决问题。
·
问题现象
以下是常见的错误表现:
- SSL 证书验证错误:
FetchError: Hostname/IP does not match certificate's altnames: Host: api.github.com. is not in the cert's altnames: DNS:draw.yxwl.asia - Copilot 功能异常:GitHub Copilot 聊天窗口的模型选项消失或无法加载。
原因分析
SSL 证书验证错误通常由以下原因引起:
- 代理服务证书不匹配:代理服务器使用自签名证书或重定向请求到错误服务器,导致 VSCode 无法验证 SSL 证书。
- DNS 解析异常:请求被导向错误的 IP 地址。
- 网络限制:企业或本地网络对某些域名或端口的访问受限。
解决方法
以下提供两种配置代理的方法,任选其一即可解决问题。
方法一:通过 settings.json 配置代理
-
打开用户设置文件:
- 按
Ctrl+Shift+P(Mac 为Cmd+Shift+P)打开命令面板。 - 输入并选择
Preferences: Open User Settings (JSON),打开settings.json。
- 按
-
添加代理配置:
在settings.json中添加以下内容,替换为实际代理地址和端口:{ "http.proxy": "http://127.0.0.1:20171", "https.proxy": "http://127.0.0.1:20171", "http.proxyStrictSSL": false, "github.copilot.advanced": { "proxy": "http://127.0.0.1:20171" } }- 字段说明:
http.proxy和https.proxy:设置 HTTP 和 HTTPS 请求的代理。http.proxyStrictSSL:设为false禁用严格 SSL 验证,适用于自签名证书。github.copilot.advanced.proxy:为 Copilot 设置专用代理。
- 注意:将
20171替换为实际端口号,如需认证,使用http://username:password@127.0.0.1:20171。
- 字段说明:
-
保存并重启:
- 保存
settings.json文件。 - 重启 VSCode 应用配置。
- 保存
方法二:通过设置界面配置代理
-
打开设置界面:
- 按
Ctrl+,(Mac 为Cmd+,)或点击左下角齿轮图标,选择“设置”。
- 按
-
搜索代理设置:
- 在设置界面的搜索框输入
proxy。
- 在设置界面的搜索框输入
-
配置 HTTP 代理:
- 找到
Http: Proxy设置项,输入代理地址,例如:http://127.0.0.1:20171 - 若使用带分支规则的 HTTP 代理,可输入:
http://127.0.0.1:20172 - 若需禁用 SSL 验证,可在
settings.json中添加"http.proxyStrictSSL": false。
- 找到
-
保存并重启:
- 保存设置并重启 VSCode。
验证与注意事项
- 验证:重启后,检查 Copilot 模型选项是否恢复,或运行网络请求确认无 SSL 错误。
- 注意事项:
- 确保代理服务运行正常,端口号与配置一致。
- 使用最新版本的 VSCode 和 GitHub Copilot 扩展。
- 在企业网络中,可能需联系管理员确认代理或防火墙设置。
总结
通过 settings.json 或设置界面配置代理,并根据需要禁用严格 SSL 验证,可快速解决 VSCode 中因代理引起的 SSL 证书验证错误。两种方法均简单高效,适用于大多数代理场景。如问题未解决,可检查代理服务日志或联系 GitHub Copilot 支持。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)