使用 Caddy 反代 APT 仓库

教程

前言

部分 APT 仓库位于国外,国内缺乏可用镜像,导致访问速度缓慢。

我曾使用 Cloudflare Workers 进行反向代理,但由于 Cloudflare 在国内的访问速度不稳定,因此转而选用一台线路较好的境外 VPS 作为反向代理节点以实现加速。

Caddy 以其配置简便而闻名,本文将介绍 Caddy 反代 APT 仓库的三种类型。

类型一:透明反代

https://pkgs.tailscale.com 进行反代,反代后的域名为 tailscale-pkgs.example.com

访问时不对路径做任何修改。

tailscale-pkgs.example.com {
encode zstd gzip

reverse_proxy https://pkgs.tailscale.com {
header_up Host {upstream_hostport}
}
}

类型二:显式重定向

https://sky1-linux.github.io 进行反代,反代后的域名为 sky1-linux.example.com

访问时自动重定向到 /apt/ 子目录。

sky1-linux.example.com {
encode zstd gzip

redir / /apt/

reverse_proxy https://sky1-linux.github.io {
header_up Host {upstream_hostport}
}
}

类型三:内部重写

https://ryanfortner.github.io 进行反代,反代后的域名为 box64-debs.example.com

为了保持 URL 简洁美观,访问时隐藏 /box64-debs/ 子目录,实际显示的还是 /box64-debs/ 子目录下的资源。

box64-debs.example.com {
encode zstd gzip

handle /box64-debs/* {
reverse_proxy https://ryanfortner.github.io {
header_up Host {upstream_hostport}
}
}

handle {
rewrite * /box64-debs{uri}
reverse_proxy https://ryanfortner.github.io {
header_up Host {upstream_hostport}

header_down Location /box64-debs/ /
}
}
}

本文作者:Tony

本文链接: https://blog.iamsjy.com/2026/01/06/use-caddy-to-reverse-proxy-an-apt-repo/

文章默认使用 CC BY-NC-SA 4.0 协议进行许可,使用时请注意遵守协议。

评论