squid :: или как заставить его агрессивно использовать КЭШ[solved]

уже вторую ночь бьюсь над тем, чтоб сквид использовал кэшь, а не просто складывал туда файлы

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

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 -i gentoo\.ru 0 100% 43200
refresh_pattern -i 192.168.10.2 0 100% 43200
refresh_pattern -i hello$ 0 100% 43200
refresh_pattern -i sms\.mts\.ru/pic\.aspx$ 0 100% 43200
refresh_pattern -i fat\.lv/browse\.php$ 0 100% 43200
refresh_pattern -i fat\.lv/punbb\.php.$ 0 100% 43200
refresh_pattern -i chat 43200 100% 43200 override-lastmod override-expire ignore-no-cache reload-into-ims ignore-reload
refresh_pattern -i \.(ico|jpg|jpeg|png|bmp|tif|svg|png|gif|swf|flv)$  43200 100% 43200 override-lastmod override-expire ignore-no-cache reload-into-ims ignore-reload
refresh_pattern -i \.(htm|html|js|asp|css|cgi)$  43200 100% 43200 override-lastmod override-expire ignore-no-cache reload-into-ims ignore-reload
refresh_pattern -i \.(avi|qt|mpg|mp4|divx|vob|mov|wmv|mp3|mid|rm|wma|asf)$  43200 100% 43200 override-lastmod override-expire ignore-no-cache reload-into-ims ignore-reload
refresh_pattern .          1440 100% 43200 override-lastmod override-expire ignore-no-cache reload-into-ims ignore-reload

refresh_pattern . 1036800

refresh_pattern .  1036800 100% 1036800 override-lastmod override-expire ignore-no-cache 

теперь и викки нормально работает... только вот мыло ру не хочет в кэшь лезти...

grep -v ^# имя_файла

grep -v ^# имя_файла | grep -v ^$

Вот так sed -e

Вот так sed -e 's/#.*//;/^\s*$/d' "$@" имя_файла или так grep -v ^# имя_файла | grep -v ^$

нашел

нашел интересную вещь:

http://www.bdbd.ru/rfc2068/163.htm

Так как кэш может быть сконфигурирован так, чтобы игнорировать времена жизни, заданные сервером, а запрос клиента может содержать директиву max-stale, протокол включает в себя механизм, который позволяет серверу требовать перепроверки записей в кэше для любого последующего применения. Когда в отклике, полученном кэшем, содержится директива must-revalidate, этот кэш не должен использовать эту запись для откликов на последующие запросы без сверки ее на исходном сервере. Таким образом, кэш должен выполнить перепроверку end-to-end каждый раз, если согласно значениям Expires или max-age, кэшированный отклик является устаревшим.

теперь

curl --head http://ru.gentoo-wiki.com/
HTTP/1.0 301 Moved Permanently
Date: Wed, 18 Apr 2007 18:08:22 GMT
Server: Apache/2.0.59 (Gentoo)
X-Powered-By: PHP/5.1.6-pl2-gentoo
Vary: Accept-Encoding,Cookie
Cache-Control: s-maxage=1200, must-revalidate, max-age=0
Last-Modified: Wed, 18 Apr 2007 18:08:25 GMT
Location: http://ru.gentoo-wiki.com/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0
Content-Type: text/html; charset=UTF-8
X-Cache: MISS from none
X-Cache-Lookup: MISS from none:80
X-Cache: MISS from squidHost
X-Cache-Lookup: HIT from squidHost:9301
Via: 1.0 squidHost:9301 (squid/2.6.STABLE7)
Proxy-Connection: keep-alive

в заголовке имеется 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, он сохраняет весь свой кеш.

вуаля, решилась

вуаля, решилась проблемка после зачистки каталогов и всего что связано со скидом и переустановки оного... правда появились другие проблемы,. но это уже другая история =)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".