2017-06-13 3 views
0

J'essaie de configurer une instance de proxy Squid afin qu'elle puisse être utilisée pour le développement du livre de recettes Chef avec Test Kitchen.Comment Squid peut-il être configuré pour mettre en cache tous les fichiers téléchargés?

Lorsque Test Kitchen crée une machine virtuelle, il installe chef-client en le téléchargeant. Je l'ai configuré de sorte qu'il télécharge à travers le serveur proxy, cependant Squid ne cache pas le fichier téléchargé, par exemple.

enter image description here

Je pense ce peut-être jusqu'à étant accessible via SSL, mais je ne suis pas sûr à 100%. En effet, apt dans Ubuntu VM est configuré pour utiliser la même instance proxy et je reçois coups dans le cache pour les fichiers:

enter image description here

Voici mon fichier 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 

Est-ce Quelqu'un sait ce que je dois ajouter à la configuration de sorte qu'il va mettre en cache le téléchargement de chef-client? Est-ce que c'est un lien SSL?

Répondre

0

Comme cela peut être le cas avec ces choses, j'ai compris qu'il s'agit bien de SSL.

La raison en est que SSL est censé donner l'espérance de la vie privée donc par défaut Squid ne cache pas les pages sécurisées car il ne peut pas les voir.

Comme je ne va utiliser ce pour le cache des paquets que j'ai deux options:

  1. Télécharger chef-client en utilisant l'url plaine http
  2. Créer un certificat auto-signé pour Squid être un homme au milieu afin qu'il puisse déchiffrer les données entrantes et le mettre en cache.

Le numéro 1 est plus facile à l'heure actuelle alors que le numéro 2 est probablement plus robuste à long terme.