squid :: или как заставить его агрессивно использовать КЭШ[solved]
raskapulk 31 января, 2007 - 01:35
уже вторую ночь бьюсь над тем, чтоб сквид использовал кэшь, а не просто складывал туда файлы
1) хочу сделать так, чтоб независимо от того есть доступ к инету иль нет его - сквид брал инфу из кэша, а если там нет, лез в родительский прокси(не сквид), еси и там нету, то в инет...
как эт устроить?
2) есть наш отечественный проект который ориентирован на вырезку баннеров и прочего мусора (rejik.ru), собрал, поставил, в логах пишет, что увидел попытку входа на сайт помеченный в черном списке, однако не запретил доступ к нему, а без препятственно пропустил юзверя. кто ставил? как вылечить ?
вот мой конфиг:
cat /etc/squid/squid.conf | grep -v -i "^#" http_port 9301 cache_mem 25 MB cache_effective_group squid cache_effective_user squid redirect_program /usr/local/rejik3/redirector /usr/local/rejik3/redirector.conf cache_peer 192.168.0.10 parent 3129 3130 no-query no-digest no-netdb-exchange acl BANNER url_regex banner reklama linkexch banpics us\.yimg\.com [\./]ad[s]?[\./] http_access deny BANNER acl localhost src 127.0.0.1/255.255.255.255 http_access allow localhost acl all src 0.0.0.0/0.0.0.0 miss_access allow all http_access allow all acl allowed_hosts src 192.168.0.0/255.255.255.0 http_access allow allowed_hosts miss_access allow allowed_hosts cache_dir ufs /psserv/squid/cache 10000 16 256 maximum_object_size 10 MB cache_access_log /psserv/squid/access_log cache_store_log none useragent_log /psserv/squid/useragent_log referer_log /psserv/squid/referer_log cache_log /psserv/squid/cache_log access_log /var/log/squid/access.log squid log_fqdn off hierarchy_stoplist prefer_direct off visible_hostname squidHost log_mime_hdrs on emulate_httpd_log off log_ip_on_direct on debug_options ALL,9; pid_filename /var/run/squid.pid ftp_list_width 50
маленький оффтоп:
как вывести содержимое файла по правилу: без комментариев в виде{#,//,;} находящихся в начале строки и без пустых строк
»
- Для комментирования войдите или зарегистрируйтесь
http://ru.gentoo-wiki.com/Как_убрать_коментарии_при_просмотре_конфиг_файлов - нашел ответ на оффтоп
режик както сам заработал, наверно требовался рестарт компа, т.к. Сквид я перезагружал не раз....
вопрос по кэшу остается в силе =)
refresh_pattern
http://www.opennet.ru/base/net/squid_inst.txt.html
refresh_pattern . 43200
refresh_pattern . 43200 100% 43200 override-lastmod override-expire
почитал, работает, только не всегда, к примеру http://ru.gentoo-wiki.com/* открывается минуя кэш, т.е. напрямую с инета... , а этот форум ч.з кэш
думал дело в урле... теперь в замешательстве...
блин вообще
блин вообще нимогу понять как кпроисходит кэширование у СКВИДА. тогрузит из кэша то не грузит...
блин мистика какаето....
после ребута
после ребута компа что раньше грузил из кэша, то и грузит из кэша.
а как быть с тем же самым викки ????
народ помогите плз =)
Возможно, на
Возможно, на вики отдают дату создания страницы либо нынешнюю, либо очень старую (не помню, какую именно, не важно) - это помогает, если хотят запретить кэширование на клиентских машинах.
Со сквидом у меня была другая трабла: загружаю свой "хомяк" - вот упорно отказывался кэшировать. Далее... Вот только не нужно меня фантастом называть, это действительно было так: Вышел из GNOME,- из KDE захожу на сайт- кэширование работает на "ура". Честное слово, ничего в конфиге не менял, сквид не перезапускал...
у меня сквид на
у меня сквид на другом компе запущен( который подрублен к инету) =)
по поводу даты : я уже писал
refresh_pattern . 43200 100% 43200 override-lastmod override-expire
здесь что то другое....
+ ковсему прочиму не кэшируются POST запросы
+ http://www.nix.ru/about.html - не кэшируется
а вот странички с http://gentoo-wiki.com/ - кэшируется =)
как вывести
это выведет вам файл test без строк начинающихся с # или /
cat ./test | egrep -v -e "^[#/]"
также для этой цели можно воспользоваться awk, sed и возможно есть еще какие-то пути решения этой задачи не известные мне :)
в любом случае поситать документацию по этим командам (egrep, awk, sed) очень рекомендую, архиполезные и архиважные команды.
Про удаление пустых строк писать не буду, но думаю что это можно решить с помощью awk или sed.
вообще не
вообще не понимаю как работает кэш уэтого прокси, теперь он даже по нажатию F5 в браузере не лезет в инет за страницей, а http://ru.gentoo-wiki.com/ мимо кэша грузит...
вообще не понятно
попробуй
попробуй мое...
refresh_pattern . 1036800
теперь и викки нормально работает... только вот мыло ру не хочет в кэшь лезти...
grep -v ^# имя_файла
grep -v ^# имя_файла | grep -v ^$
Вот так sed -e
Вот так sed -e 's/#.*//;/^\s*$/d' "$@" имя_файла или так grep -v ^# имя_файла | grep -v ^$
нашел
нашел интересную вещь:
http://www.bdbd.ru/rfc2068/163.htm
теперь
в заголовке имеется Cache-Control: s-maxage=1200, must-revalidate, max-age=0
мне кажется что изза этой директивы сквид постоянно сверяется а в конкретном случае грузит документ заново с инета.
можно ли вообще сказать сквиду, чтоб он не обращал внимания на Cache-Control ?
net-proxy/wwwoffle не
net-proxy/wwwoffle не спасет отца русской демократии?
Вопрос в тему
Вот у меня дома не сервер. Обычный комп. Который я ночью выключаю. Кэш сквида работает до выключения компьютера (натравливал его на обычные html-страницы и смотрел логи).
Как squid'у дать понять, что бы он кэш свой не забывал?
Если работа squid
Если работа squid завершается командой
squid -k shutdown
, он сохраняет весь свой кеш.вуаля, решилась
вуаля, решилась проблемка после зачистки каталогов и всего что связано со скидом и переустановки оного... правда появились другие проблемы,. но это уже другая история =)