让一个 APT 仓库绕过代理
APT 支持针对特定主机的 DIRECT 例外,因此内部仓库可以走直连路由,而其他下载仍保留代理。
内部软件包仓库不必离开办公网络再经由外部代理返回。你可以为 APT 设置针对特定主机的例外,而无需为每次下载禁用代理。
例如,一个 APT 配置片段可以包含:
Acquire::http::Proxy "http://proxy.example:8080/";
Acquire::http::Proxy::packages.office.example "DIRECT";
Acquire::https::Proxy::packages.office.example "DIRECT";
该示例保留默认 HTTP 代理,并对所列两项传输设置都豁免指定的仓库主机。对于它的外部默认路由,如果允许使用公共代理,HTTP 代理列表 可提供候选;请让内部仓库保持直连。请单独设置任何必需的默认 HTTPS 代理,以匹配实际环境。
使用主机,而不是仓库 URL
后缀是主机名:没有 https://、没有路径,也没有末尾斜杠。同一主机上的多个仓库共享该路由例外。它不是按目录生效的防火墙规则。
DIRECT 是 APT 的代理选择值,记录在 HTTP 传输手册中。它并不意味着“改用其他镜像”,也不会改变仓库发布哪些软件包。
跟踪下载在首个 URL 之后的行为
如果仓库重定向到另一个主机名,该请求有自己的路由决策。当元数据和软件包归档来自不同主机时同样如此。请让例外与内部服务实际需要的主机保持一致。
直连路由还需要正常的可达性和正确的证书信任。成功选择绕过并不能让无法访问的内部服务器作出响应。
将片段放入常规配置目录后,检查生效的 APT 配置。之后添加的特定主机条目可能改变结果。避免把浏览器的通配符绕过语法复制到这个键中;APT 文档中记载的主机设置才是相关接口。