我正在尝试设置一个Squid代理实例,以便它可以用于使用Test Kitchen进行Chef cookbook开发。
当Test Kitchen旋转虚拟机时,它会通过下载来安装chef-client
。我已将其配置为通过代理服务器下载,但Squid不会缓存下载的文件,例如
我认为这可能是因为它通过SSL访问但我不是100%肯定。这是因为Ubuntu VM中的apt
配置为使用相同的代理实例,并且我在缓存中点击这些文件:
这是我的squid.conf
文件:
http_port 3128
acl manager url_regex -i ^cache_object:// +i ^https?://[^/]+/squid-internal-mgr/
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl localnet src 10.0.0.0/8 # RFC 1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC 1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC 1918 possible internal network
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow localnet
http_access deny all
maximum_object_size 1024 MB
cache_replacement_policy heap LFUDA
cache_dir aufs /var/spool/squid3 5000 24 256
coredump_dir /var/spool/squid3
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern Packages\.bz2$ 0 20% 4320 refresh-ims
refresh_pattern Sources\.bz2$ 0 20% 4320 refresh-ims
refresh_pattern Release\.gpg$ 0 20% 4320 refresh-ims
refresh_pattern Release$ 0 20% 4320 refresh-ims
refresh_pattern -i .(deb|rpm|exe|zip|tar|tgz|bz2|ram|rar|bin)$ 129600 100% 129600 override-expire ignore-no-cache ignore-no-store
refresh_pattern . 0 20% 4320
有人知道我需要添加到配置中的内容,以便它会缓存chef-client
的下载吗?它是一个SSL链接吗?
答案 0 :(得分:0)
就像这些事情的情况一样,我已经知道它确实与SSL有关。
原因是SSL意味着提供隐私的期望,因此默认情况下Squid不会缓存受保护的页面,因为它无法看到它们。
由于我只是将其用于包的缓存,我有两个选择:
chef-client
目前1号更容易,而长期来看2号可能更强劲。