URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 3236
[ Назад ]

Исходное сообщение
"Неправильная работа сквида"

Отправлено nirex , 31-Май-05 22:38 
Привет, всем.
помогите настроить сквид.
Значит,стоит он на gateway для домашней сети , работает как прозрачная прокся.
при обращении к страничке c форматом *.htm на удаленном сервере ie получает ее один раз потом эта же странички уже измененная все ровно грузится из кэша.
лог сквида при просмтре через ie: 1117562391.180    394 192.168.0.2 TCP_IMS_HIT/304 215 GET http://xxx.ru/warn.htm - NONE/- text/html
на стороне вэбсервера в логах нечего в этот момент не приходило.
дописал несколько строк в этот файл но ie мне показывает старый файл
лог сквида:1117562592.531      1 192.168.0.2 TCP_IMS_HIT/304 215 GET http://xxx.ru/warn.htm - NONE/- text/html
       1117562593.467    935 192.168.0.2 TCP_IMS_HIT/304 215 GET http://xxx.ru/warn.htm - NONE/- text/html
вэб-сервер тоже ничего не видел чтобы к нему обращались на этот файл.
попробовал тоже самое проделать с оперой , первый раз когда открываю этот файл , опера получает его со сквида
лог сквида:1117562901.266      1 192.168.0.2 TCP_MEM_HIT/200 6111 GET http://xxx.ru/warn.htm - NONE/- text/html
после рефреша, опреа показывает мне измененный файл как надо
лог сквида:1117563029.486    338 192.168.0.2 TCP_CLIENT_REFRESH_MISS/200 6099 GET http://xxx.ru/warn.htm - DIRECT/xxx.ru text/html
, но если еще раз обновить страничку в опере при этом на вэб-сервере ее не изменять то он все ровно полезит на вэб-сервер , что тоже не правильно .
лог сквида:1117563264.844    177 192.168.0.2 TCP_CLIENT_REFRESH_MISS/200 6099 GET http://xxx.ru/warn.htm - DIRECT/xxx.ru text/html

Я хочу чтобы сквид дергал любой контент только тогда , когда данные этого файла (любого) были изменены на сервере или просрочены.
Так же , если вы знаете что можно в моем конфиге изменить для большей работоспособности сквида, милости прошу :)
pc: p4-1800 256mbytes
os: freebsd 5.3
версия сквида и опции при конфигурации: Squid Cache: Version 2.5.STABLE10
                    configure options:  --enable-removal-policies --enable-delay-pools --enable-storeio=ufs
раздел на котором лежит кэш 16 гигов
конфиг:

http_port 127.0.0.1:3128
icp_port 0
hierarchy_stoplist cgi-bin ? php
acl QUERY urlpath_regex cgi-bin \? php
no_cache deny QUERY
cache_mem 100  MB
cache_swap_low 50
cache_swap_high 65
maximum_object_size 16384 KB
cache_replacement_policy heap GDSF
memory_replacement_policy heap LFUDA
cache_dir ufs /usr/local/squid/var/cache 8000 32 512
cache_access_log /usr/local/squid/var/logs/access.log
cache_log /usr/local/squid/var/logs/cache.log
cache_store_log /usr/local/squid/var/logs/store.log
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
refresh_pattern ^ftp:         &n... 1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i      \.gif$  2880    700%    8640 override-lastmod override-expire
refresh_pattern -i      \.png$  2880    700%    8640 override-lastmod override-expire
refresh_pattern -i      \.jpg$  2880    700%    8640 override-lastmod override-expire
refresh_pattern -i      \.jpeg$ 2880    700%    8640 override-lastmod override-expire
refresh_pattern -i      \.pdf$  4320    1000%   8640 override-lastmod override-expire
refresh_pattern -i      \.zip$  4320    1000%   8640 override-lastmod override-expire
refresh_pattern -i      \.tar$  4320    1000%   8640 override-lastmod override-expire
refresh_pattern -i      \.gz$   4320    1000%   8640 override-lastmod override-expire
refresh_pattern -i      \.tgz$  4320    1000%   8640 override-lastmod override-expire
refresh_pattern -i      \.exe$  4320    1000%   8640 override-lastmod override-expire
refresh_pattern -i      \.doc$  4320    1000%   8640 override-lastmod override-expire
refresh_pattern -i      \.rtf$  4320    1000%   8640 override-lastmod override-expire
refresh_pattern -i      \.xls$  4320    1000%   8640 override-lastmod override-expire
refresh_pattern -i      \.prz$  4320    1000%   8640 override-lastmod override-expire
refresh_pattern -i      \.ppt$  4320    1000%   8640 override-lastmod override-expire
refresh_pattern -i      \.txt$  4320    1000%   8640 override-lastmod override-expire
refresh_pattern -i      \.inf$  4320    1000%   8640 override-lastmod override-expire

refresh_pattern -i      \.swf$  8640    1000%   17280 override-lastmod override-expire
refresh_pattern -i      \.mid$  17280   1000%   24660 override-lastmod override-expire
refresh_pattern -i      \.wav$  17280   1000%   24660 override-lastmod override-expire

refresh_pattern -i      \.html$ 1440    90%     8640 override-lastmod override-expire
refresh_pattern -i      \.htm$  1440    90%     8640 override-lastmod override-expire
refresh_pattern -i      \.shtml$ 1440   90%     8640 override-lastmod override-expire
refresh_pattern -i      \.css$  1440    90%     8640 override-lastmod override-expire
refresh_pattern -i      \.js    1440    90%     8640 override-lastmod override-expire
refresh_pattern -i      \/$     360     50%     8640 override-lastmod override-expire

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443 563     # https, snews
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

acl mynet src 192.168.0.0/16
acl mynet src внешний_ip

acl bad url_regex -i "/root/bad_urls.acl"
acl bad_tr url_regex -i ganjawars

acl good_urls url_regex -i "/root/good_urls.acl"

acl ICQ_DOMAIN          dstdomain       icq.com aol.com
acl ICQ_ADDR            dst             64.12.0.0/16 205.188.0.0/16
acl ICQ_PORT            port            5190
acl ICQ_PROTO           proto           HTTPS
http_access   allow   mynet ICQ_ADDR ICQ_PORT ICQ_PROTO CONNECT

always_direct   allow   ICQ_DOMAIN ICQ_PORT CONNECT
always_direct   allow   ICQ_ADDR   ICQ_PORT CONNECT

http_access deny !mynet
http_access deny bad
http_access allow good_urls
http_access allow mynet
http_access deny all

http_reply_access allow mynet
http_reply_access deny !mynet

icp_access deny  all

miss_access allow mynet
miss_access deny all

httpd_accel_uses_host_header on
httpd_accel_host virtual
visible_hostname zaraza
httpd_accel_port 80
httpd_accel_with_proxy on

error_directory /usr/local/squid/share/errors/Russian-1251

coredump_dir /usr/local/squid/var/cache

ie_refresh on
vary_ignore_expire off


Содержание

Сообщения в этом обсуждении
"Неправильная работа сквида"
Отправлено Андрей Слободяник , 01-Июн-05 12:08 
>ее один раз потом эта же странички уже измененная все ровно
>грузится из кэша.

Возможно, дело в refresh_pattern, особенно в опциях "override-lastmod" "override-expire". Правда, признаюсь, несмотря на многократное перечитывание squid.conf.default я так и не понял, как правильно ими играть.

>cache_mem 100  MB
Пожалуй, лучше поставить поменьше, учитывая эмперической потребление памяти сквидом - раза в три больше этой величины. И, по большому счёту метров 8-16 на hot objects вполне достаточно, имхо.

>cache_swap_low 50
>cache_swap_high 65
Эти величины обычно устанавливают в 98-99 %

>cache_dir ufs /usr/local/squid/var/cache 8000 32 512
Восемь гиг - слишком много. Вполне достаточно одного-двух.


"Неправильная работа сквида"
Отправлено ipmanyak , 01-Июн-05 13:08 
убери для начала все свои refresh_pattern -i    

"Неправильная работа сквида"
Отправлено Андрей Слободяник , 01-Июн-05 16:58 
>убери для начала все свои refresh_pattern -i

ipmanyak, может разовьём тему refresh_pattern-ов?

Для примера - именно это страница - http://www.opennet.me/openforum/vsluhforumID12/3236.html

У меня в конфиге тоже есть
refresh_pattern -i      \.html$ 1440    90%     10080

без всяких override. Насколько я понимаю, эти настройки действуют в отсутсвии мета-тегов. Но на этой странице они есть:

<META HTTP-EQUIV="Expires" CONTENT="Tues, 04 Dec 1996 21:00:00 GMT">
<META HTTP-EQUIV="pragma" content="no cache">

Однако, всё-равно приходиться делать refresh, чтобы получить актуальные данные. Какие идеи?


"Неправильная работа сквида"
Отправлено nirex , 02-Июн-05 18:12 
>убери для начала все свои refresh_pattern -i
не было поначалу таких здоровых refresh_paternov это уже после того когда я заметил такую фигню.
народ а есть лучше сквида прокся ? (по всем параметрам)