apt 代理设置的通配符

apt 代理设置的通配符

我使用多台 Ubuntu 16.04 服务器,这些服务器从 Ubuntu 存储库的内部镜像和外部存储库(安全、反向移植)下载软件包。没有与外部存储库的直接连接。所有互联网连接都通过代理服务器。

由于内部/外部存储库混合,我需要为每个域设置代理设置:

Acquire::http::Proxy::security.ubuntu.com "http://127.0.0.1:8080";
Acquire::http::Proxy::us.archive.ubuntu.com "http://127.0.0.1:8080";

有没有办法使用通配符来指定 ubuntu.com 域名?例如

Acquire::http::Proxy::*.ubuntu.com "http://127.0.0.1:8080";

我尝试了几种语法,但没有让它起作用。

答案1

我建议使用privoxy...另一个代理!在 apt 和您的实际代理之间。

然后/etc/apt/apt.conf您可以将所有流量传递到privoxy

Acquire::http::Proxy "http://localhost:8118";
Acquire::https::Proxy "http://localhost:8118";

然后在privoxy配置中/etc/privoxy/config决定如何管理和转发流量。

喜欢:

forward   192.168.1.*                .
forward   us.archive.ubuntu.com      .
forward    *.ubuntu.com              http://127.0.0.1:8080
forward   security.ubuntu.com        http://127.0.0.1:8080

在此示例中us192.168.1.*将直接进行,*.ubuntu并将security通过您的代理。

答案2

也许以下内容可以通过设置默认代理来帮助您,其余部分则自行解决。

https://github.com/hastmu/apt-proxy-detect

因为它使用给定 url 的工作代理,如果它们都不起作用,则直接连接。

享受。

相关内容