局域网环境下解决VSCode插件下载慢的本地缓存代理方案

酷磊君_6487

酷磊君_6487

2026-09-04

458人浏览

原创

真正可行的本地缓存代理是用能上网的机器作中转站,通过mitmproxy或nginx缓存插件包,解决局域网无法直连marketplace.visualstudio.com的问题。

局域网环境下解决vscode插件下载慢的本地缓存代理方案

局域网内没有公网代理、又不能直连 marketplace.visualstudio.com 时,靠改 settings.json 或换镜像源往往失效——因为那些方案仍依赖外部网络。真正可行的本地缓存代理,是让一台能上网的机器充当「中转站」,把插件包提前拉下来并长期缓存,其他局域网机器只跟它通信。

为什么局域网直接配 http.proxy 常常不生效

VSCode 的 http.proxy 设置默认只走 HTTP/HTTPS 请求,但插件下载实际会发起大量对 vsextensions.blob.core.windows.net 的直连请求,这类 CDN 地址通常被系统 bypass 规则排除(尤其 Windows/macOS 默认绕过 127.0.0.1localhost)。即使你填了 "http.proxy": "http://192.168.1.100:8080",VSCode 也可能根本没把请求发过去。

  • 验证方法:在代理机器上运行 curl -x http://192.168.1.100:8080 https://httpbin.org/ip,再在客户端 VSCode 里安装插件,观察代理日志是否收到请求
  • 常见失败点:代理服务未开启「允许局域网连接」(如 Clash 需设 allow-lan: true)、防火墙拦截端口、VSCode 启动方式绕过环境变量(GUI 启动不读 ~/.zshrc
  • Remote-SSH 场景下,http.proxy 必须写在远程机器的 ~/.vscode-server/data/Machine/settings.json,而不是本地设置

mitmproxy 搭本地缓存代理(推荐)

mitmproxy 可以拦截、修改、缓存 HTTPS 流量,比单纯转发更可靠。它能把 marketplace 请求落地为本地文件,后续所有局域网机器都复用这份缓存。

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载
  • 在能联网的机器(比如你的开发主力机)上安装:pip install mitmproxy
  • 启动带缓存的代理:mitmproxy --mode regular --listen-host 0.0.0.0 --listen-port 8080 --set confdir=./mitmconf --set cache=true
  • 客户端 VSCode 的 settings.json 中写入:"http.proxy": "http://192.168.1.100:8080"(替换为实际 IP),并确保 "http.proxyStrictSSL": false
  • 首次安装插件后,缓存文件会生成在 ./mitmconf/cache/ 下,格式为 hash-xxxxxx;之后同一插件安装将直接返回缓存内容,无需重连外网

替代方案:用 nginx 反向代理 + 磁盘缓存

如果你已有 nginx 服务,且希望零 Python 依赖,可用它做纯静态缓存层。原理是把 marketplace 域名映射到本地,由 nginx 自动缓存响应体。

  • 修改 hosts(所有客户端):192.168.1.100 marketplace.visualstudio.com192.168.1.100 vsextensions.blob.core.windows.net
  • nginx 配置片段(需支持 HTTPS 透传):
    proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=vscode:10m max_size=5g;
    server {
        listen 443 ssl;
        server_name marketplace.visualstudio.com;
        location / {
            proxy_pass https://marketplace.visualstudio.com;
            proxy_cache vscode;
            proxy_cache_valid 200 1d;
            proxy_ssl_server_name on;
        }
    }
  • 注意:必须用真实域名 + SSL 证书(可自签,但客户端要信任),否则 VSCode 会拒绝连接;proxy_ssl_server_name on 是关键,否则后端无法识别 SNI

容易忽略的权限与路径细节

缓存代理不是配完就一劳永逸。最常卡住的地方其实是路径权限和证书信任:

  • mitmproxy 生成的 CA 证书(~/.mitmproxy/mitmproxy-ca-cert.pem)必须手动导入到每台客户端的系统根证书库,否则 VSCode 报 DEPTH_ZERO_SELF_SIGNED_CERT
  • nginx 缓存目录(如 /data/nginx/cache)需确保 nginx worker 进程有读写权限,否则缓存不生效,表现就是「第一次慢、第二次还是慢」
  • VSCode 更新插件时会请求 /api/gallery/cache 接口,如果代理没转发或缓存规则没覆盖该路径,依然会直连外网

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
vscode是什么_vscode怎么安装配置
vscode是什么_vscode怎么安装配置

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

2023.06.30

1135

18

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.21

2252

3

vscode使用的框架介绍
vscode使用的框架介绍

VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1789

12

vscode一般用来写什么语言
vscode一般用来写什么语言

VSCode是一款功能强大的代码编辑器,支持多种编程语言和文件格式。它内置对 JavaScript、Python、Java、C++、TypeScript、HTML/CSS、Go 等语言的支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1587

8

vscode可以写什么语言
vscode可以写什么语言

vscode是一款强大的代码编辑器,支持多种编程语言的开发。通过安装扩展,可以为 JavaScript/TypeScript、Python、Java、C#、PHP、Go、Ruby、Rust、HTML/CSS 等语言提供智能代码补全、调试和格式化等功能。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

2487

12

vscode中文设置方法
vscode中文设置方法

方法一:在设置页面中,搜索“locale”,并选择“zh-cn”。方法二:按“Ctrl Shift P”快捷键,输入“Configure Display Language”,将语言修改为“zh-cn”。如果上述方法无效,可考虑安装中文插件。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1738

14

vscode用途介绍
vscode用途介绍

Visual Studio Code(VSCode)是一款由 Microsoft 开发的多功能文本编辑器,适用于各种编程语言。作为一款开源软件,VSCode 拥有代码高亮、自动补全、调试、Git 集成等强大功能,成为程序员不可或缺的工具。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1202

10

vscode和visualstudio的区别
vscode和visualstudio的区别

Visual Studio是一款功能强大的集成开发环境(IDE),适用于专业开发人员进行复杂项目的构建。而VSCode则是一款轻量级的代码编辑器,更适合各种规模的项目开发。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1076

8

vscode设置中文界面不生效解决方法
vscode设置中文界面不生效解决方法

vscode设置中文界面不生效解决方法:安装中文语言包、通过命令面板设置语言、检查 locale.json 设置、重新安装中文语言包、检查 VSCode 版本和更新、排除插件冲突、检查系统语言设置、查看 VSCode 日志和错误消息、重置 VSCode 设置、查看官方文档和社区支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

394

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程