Squid 可以在本地缓存父代理响应吗?

Squid 可以在本地缓存父代理响应吗?

我有一个本地/内部 Squid 代理设置,用于通过需要身份验证的父 HTTP 代理发出所有 HTTP 请求。我想要做的是将 HTTP 资源保存在本地 Squid 缓存中,以便后续请求从那里提供,而不是从父级重新下载。

我的配置看起来像这样:

nonhierarchical_direct off

http_port 10101
acl port_10101 localport 10101
always_direct deny port_10101
never_direct allow port_10101

cache_peer parent.example.com parent 8080 0 no-query proxy-only login=user:pass connect-fail-limit=99999999 name=default_proxy
cache_peer_access default_proxy allow port_10101 
cache_peer_access default_proxy deny !port_10101

never_direct allow all
http_access allow all

我尝试过删除,proxy-only但是没有什么作用。

这是适用于 Squid 3.5 的。

答案1

我认为您需要检查父代理返回的标头。通常,需要身份验证的内容会被标记为不可缓存。请参阅RFC2616“什么是可缓存的”一节。如果父级指示响应不可缓存,则根据 RFC 合规性,squid 应该被要求遵守这一点。

相关内容