squid-deb-proxy не может кешировать пакеты
На сервере Ubuntu 12.04, с squid-deb-proxy
установленные, клиентские машины в сети будут правильно связываться с сервером при установке пакетов, но squid
никогда не кэширует пакеты.
От /var/log/squid-deb-proxy/access.log
:
1368371692.721 485 192.168.1.220 TCP_MISS/200 20304 GET http://us.archive.ubuntu.com/ubuntu/pool/universe/c/cowsay/cowsay_3.03+dfsg1-3_all.deb - DIRECT/91.189.91.13 application/x-debian-package
1368371721.534 264 192.168.1.210 TCP_MISS/200 20304 GET http://us.archive.ubuntu.com/ubuntu/pool/universe/c/cowsay/cowsay_3.03+dfsg1-3_all.deb - DIRECT/91.189.91.13 application/x-debian-package
Оба сервера 192.168.1.220 и.210 связались с сервером (.210 является сервером, но также имеет squid-deb-proxy-client
установлен), но.210 получил TCP_MISS/200
вместо того, чтобы обслуживать кэшированный пакет.
От /var/log/squid-deb-proxy/store.log
:
1368371692.721 RELEASE -1 FFFFFFFF 1255C76AE7E24BA02B4ABB6A3E4AB535 200 1368371672 1293023126 -1 application/x-debian-package 19904/19904 GET http://us.archive.ubuntu.com/ubuntu/pool/universe/c/cowsay/cowsay_3.03+dfsg1-3_all.deb
1368371721.534 RELEASE -1 FFFFFFFF 3534FA3574ED95020E8C960C75129676 200 1368371700 1293023126 -1 application/x-debian-package 19904/19904 GET http://us.archive.ubuntu.com/ubuntu/pool/universe/c/cowsay/cowsay_3.03+dfsg1-3_all.deb
Если я читаю store.log
право, squid
кэшировал две копии одного и того же файла. (Я использовал cowsay
тестировать; гораздо большие файлы, как linux-headers-*
также никогда не кэшировались.)
Единственные изменения по умолчанию squid-deb-proxy.conf
должны были включить зеркала:
81,82c81,82
< http_access deny !to_ubuntu_mirrors
< #http_access allow !to_ubuntu_mirrors
---
> #http_access deny !to_ubuntu_mirrors
> http_access allow !to_ubuntu_mirrors
86,87c86,87
< cache deny !to_ubuntu_mirrors
< #cache allow !to_ubuntu_mirrors
---
> #cache deny !to_ubuntu_mirrors
> cache allow !to_ubuntu_mirrors
Наконец, единственные ошибки, которые я видел в squid
-специфичные журналы:
$ sudo cat /var/log/upstart/squid-deb-proxy.log.1
2013/05/09 09:27:05| Warning: empty ACL: acl blockedpkgs urlpath_regex "/etc/squid-deb-proxy/autogenerated/pkg-blacklist-regexp.acl"
2013/05/09 09:27:05| WARNING: (B) '::/0' is a subnetwork of (A) '::/0'
2013/05/09 09:27:05| WARNING: because of this '::/0' is ignored to keep splay tree searching predictable
2013/05/09 09:27:05| WARNING: You should probably remove '::/0' from the ACL named 'all'
Учитывая, что клиенты правильно связываются с прокси-сервером, почему бы не squid
кешировать и вернуть пакеты?
1 ответ
Начав с нуля (очистка и переустановка), я наконец обнаружил проблему.
Изменения в squid-deb-proxy.conf
(я думал, что включены зеркала) были виновниками.
Я не понимаю комментарии в файле, например: "# uncomment the third and fouth line to permit any unlisted domain
Msgstr "Под этим комментарием есть только две строки, и кажется, что некомментированные обе строки squid
Синтаксис конфигурации), чтобы отрицать друг друга. Изменение параметров (закомментирование изначально некомментированного и активация первоначально закомментированного), очевидно, не сработало.
Еще один момент: автоматически сгенерированные файлы чувствительны к файлам резервных копий в *.d/
каталоги. Я заметил, что /etc/squid-deb-proxy/autogenerated/mirror-dstdomain.acl
было содержимое обоих mirror-dstdomain.acl.d/10-default
а также mirror-dstdomain.acl.d/10-default~
в этом.