使用上游代理进行 Debian 的 Squid3 更新

使用上游代理进行 Debian 的 Squid3 更新

我经常需要设置新的 Debian 服务器,因此我尝试设置 Squid 代理来缓存 apt-get 更新/升级。但我总是遇到一些特定文件无法检索的问题。

细节:

  • 我使用代理,这是访问互联网的唯一方式。我不知道使用什么软件。
  • 在 ESX 5 上工作:squid 服务器和客户端
  • 尝试使用 squeeze 和 wheezy Debian 版本,通过网络安装 CD 或网络 (PXE) 启动,是否使用预置配置文件
  • 我的 Squid 配置如下(部分内容)

    cache_peer      upstream_proxy.internal.domain.tld  parent  8080    0       no-query no-digest default
    cache_replacement_policy        heap LFUDA
    cache_dir ufs /var/spool/squid3 1000 16 256
    maximum_object_size     200 MB
    refresh_pattern .              0       20%     4320 refresh-ims
    

运行 Debian 安装时,一开始它运行良好(squid 正确地交付了软件包),但某一刻它试图检索软件包.gz文件,但这个文件从未被传送。我在 access.log 中看到以下条目(不确定它们是否总是出现,似乎不是)

1370855387.060 950995 <internal IP> TCP_MISS/200 679695 GET http://ftp.fr.debian.org/debian/dists/squeeze/main/binary-amd64/Packages.gz - DEFAULT_PARENT/upstream_proxy.internal.domain.tld application/x-gzip
1370855542.916 947999 <internal IP> TCP_MISS/200 2247441 GET http://ftp.fr.debian.org/debian/dists/squeeze/main/binary-amd64/Packages.gz - DEFAULT_PARENT/upstream_proxy.internal.domain.tld application/x-gzip

如果我直接在 Debian 安装程序中使用上游代理,一切就都正常了,所以这一定是配置问题,但我不知道是什么问题。

有人知道可能是什么问题或者我该如何调试它吗?

答案1

您的日志条目显示,文件是在相对较长的时间(951 秒/947 秒)后检索到的,但尽管 URI 相同,但长度却不同(679695 字节 vs. 2247441 字节),这表明存在问题。传输可能在约 950 秒后超时并中止 - 可能是由上游代理强制执行的。

检查您是否可以在合理的时间内成功检索文件不是使用 Squid:

export http_proxy="http://upstream_proxy.internal.domain.tld:8080"
wget http://ftp.fr.debian.org/debian/dists/squeeze/main/binary-amd64/Packages.gz

并从那里开始隔离问题。Squidtcpdump代理实例和远程代理之间的传输可能有助于解决问题。此外,如果可用,请与您正在使用的代理的管理员/技术支持人员核实问题的可能原因。

相关内容