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

Исходное сообщение
"Два сквида - один кеш."

Отправлено r4 , 27-Мрт-04 18:17 
Сабж собственно возможен? Тоесть на машине запущены два сквида с разными настройками, но кэш они используют один?

Содержание

Сообщения в этом обсуждении
"Два сквида - один кеш."
Отправлено Michael , 27-Мрт-04 19:19 
> Сабж собственно возможен? Тоесть на машине запущены два сквида с разными
>настройками, но кэш они используют один?

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

решение возможно в зависиомсти от твоих локальных особенностей...
например, возможно, удастся слить настройки двух сквидов...
или они будут работать каскадом, один будет кэширующим, другой нет...
или они будут "соседними" кэшами и смогут запрашивать объекты друг у друга...



"Два сквида - один кеш."
Отправлено r4 , 27-Мрт-04 19:41 
>
>решение возможно в зависиомсти от твоих локальных особенностей...
>например, возможно, удастся слить настройки двух сквидов...
>или они будут работать каскадом, один будет кэширующим, другой нет...
>или они будут "соседними" кэшами и смогут запрашивать объекты друг у друга...

Да, вероятно так и придётся сделать. Не подскажешь тогда как реализовать такую схему:

Один сквид(основной) кеширующий, лазает визде директом. Второй свид, не кеширующий, лазает через парент прокси(не кеширующий на другой машине), но использует кеш первого(основного).

Я не совсем понимаю как сделать не кеширующий прокси. Ведь у директивы cache_dir даже дефолтное выражение стоит не в none, а в какой то путь.



"Два сквида - один кеш."
Отправлено r4 , 27-Мрт-04 19:56 
Вернее они запрашивают объекты друг у друга...

"Два сквида - один кеш."
Отправлено waldis , 27-Мрт-04 20:44 
> Сабж собственно возможен? Тоесть на машине запущены два сквида с разными
>настройками, но кэш они используют один?

диск действительно поделить вряд-ли удастся,
но возможно ваши потребности в 2-х различных проксях возможно будет решить и одним, при помощи дополнительного правила my_port

в наших условиях с его помощью реализована схема, где на одном порту клиент получает странички без баннеров, на другом порту все запчасти страницы сохраняются, ибо бывают и проколы с кучей шаблонов супротив баннеров.

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

удачи!


"Два сквида - один кеш."
Отправлено r4 , 27-Мрт-04 20:52 
Различия действительно не грандиозны. Со второго порта нужно лишь:
чтобы сквид на все страницы лез строго не директом а через другой прокси.  как такого добиться не подскажете?


"Два сквида - один кеш."
Отправлено waldis , 27-Мрт-04 23:21 
>Различия действительно не грандиозны. Со второго порта нужно лишь:
>чтобы сквид на все страницы лез строго не директом а через другой
>прокси.  как такого добиться не подскажете?

тут 2 прокси явно не нужно,
эта схема у меня дома используется :)

http_port 8080
http_port 8081

cache_peer upstream.proxy.host parent 8080 7 no-query allow-miss no-digest no-netdb-exchange no-delay

(набор параметров может быть и другой, изучайте)

acl directconnect myport 8080
acl proxyconnect myport 8081

cache_peer_access upstream.proxy.host allow proxyconnect
never_direct allow proxyconnect

в общем идея, думаю, ясна


"Два сквида - один кеш."
Отправлено r4 , 27-Мрт-04 23:40 
>>Различия действительно не грандиозны. Со второго порта нужно лишь:
>>чтобы сквид на все страницы лез строго не директом а через другой
>>прокси.  как такого добиться не подскажете?
>
>тут 2 прокси явно не нужно,
>эта схема у меня дома используется :)
>
>http_port 8080
>http_port 8081
>
>cache_peer upstream.proxy.host parent 8080 7 no-query allow-miss no-digest no-netdb-exchange no-delay
>
>(набор параметров может быть и другой, изучайте)
>
>acl directconnect myport 8080
>acl proxyconnect myport 8081
>
>cache_peer_access upstream.proxy.host allow proxyconnect
>never_direct allow proxyconnect
>
>в общем идея, думаю, ясна


Сижу тут ипусь уже 4ый час. Сквид не хочет понимать acl myport. вот конфиг:
http_port 3128
http_port 3129
icp_port 0
cache_peer 195.161.X.X parent 3128 3130 no-query default
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 16 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 32768 KB
maximum_object_size_in_memory 128 KB
ipcache_size 16384
ipcache_low 90
ipcache_high 95
cache_replacement_policy heap LFUDA
memory_replacement_policy heap LRU
cache_dir ufs /services/squid/cache 4096 16 256
cache_access_log /services/squid/var/logs/access.log
cache_log /services/squid/var/logs/cache.log
cache_store_log /services/squid/var/logs/store.log
mime_table /services/squid/etc/mime.conf
pid_filename /services/squid/var/logs/squid.pid
ftp_user r4@sovietservers.com
dns_nameservers 212.15.127.1 212.15.122.253
diskd_program /services/squid/libexec/diskd
unlinkd_program /services/squid/libexec/unlinkd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
refresh_pattern -i      \.gif$  2880    700%    8640
refresh_pattern -i      \.png$  2880    700%    8640
refresh_pattern -i      \.jpg$  2880    700%    8640
refresh_pattern -i      \.jpeg$ 2880    700%    8640
refresh_pattern -i      \.pdf$  4320    1000%   8640
refresh_pattern -i      \.zip$  4320    1000%   8640
refresh_pattern -i      \.tar$  4320    1000%   8640
refresh_pattern -i      \.gz$   4320    1000%   8640
refresh_pattern -i      \.tgz$  4320    1000%   8640
refresh_pattern -i      \.exe$  4320    1000%   8640
refresh_pattern -i      \.doc$  4320    1000%   8640
refresh_pattern -i      \.rtf$  4320    1000%   8640
refresh_pattern -i      \.xls$  4320    1000%   8640
refresh_pattern -i      \.prz$  4320    1000%   8640
refresh_pattern -i      \.ppt$  4320    1000%   8640
refresh_pattern -i      \.txt$  4320    1000%   8640
refresh_pattern -i      \.inf$  4320    1000%   8640
refresh_pattern -i      \.swf$  8640    1000%   17280
refresh_pattern -i      \.mid$  17280   1000%   24660
refresh_pattern -i      \.wav$  17280   1000%   24660
refresh_pattern -i      \.css$  1440    90%     8640
refresh_pattern -i      \.js    1440    90%     8640
refresh_pattern -i      \/$     360     50%     8640
refresh_pattern ^ftp:         &n... 1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern .               0       20%     4320

#

acl portinet myport 3129

#

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

#

http_access deny portinet

#

http_access allow all

acl our_networks src 10.0.0.0/16
http_access allow our_networks
http_access deny all
http_reply_access allow all
icp_access allow all
cache_peer_access 195.161.X.X allow portinet
cache_peer_access 195.161.X.X deny all
cache_mgr r4@sovietservers.com
cache_effective_user www
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
dns_testnames microsoft.com sovietservers.com
cachemgr_passwd jepeller all
never_direct allow portinet
error_directory /services/squid/share/errors/Russian-1251
coredump_dir /services/squid/cache


Форваржу себя фаерволом на 3129 порт ( не в фаерволе дело точно - пробовал форвардить на пустой порт - коннекта нет). И эта падла бля всё прекрасно грузит. Хотя должна выдать ошибку access denied (как она выдаёт её, если я ставлю http_access deny all). вообщем эта ..ть почему то не хочет обрабатывать acl myport...


"Два сквида - один кеш."
Отправлено waldis , 27-Мрт-04 23:53 
ошибки действительно не проглядывается

всё же пока отладь без фокусов с пакетным фильтром,

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


"Два сквида - один кеш."
Отправлено r4 , 28-Мрт-04 00:09 
>ошибки действительно не проглядывается
>
>всё же пока отладь без фокусов с пакетным фильтром,
>
>по-тупому, браузер настрой на использование этой прокси с этим портом
>думаю получишь искомое


Дело в том, что браузер(IE) через прокси вообще работать не желает.
"невозможно отобразить страницу" и всё. в то время как через транспарент всё прекрасно ходит.


"Два сквида - один кеш."
Отправлено r4 , 28-Мрт-04 15:44 
Вообщем покопался - расклад такой. Если броузером напрямую - myport фурычит. Если заворачивать фаерволом - нет. Придётся поднимать 2 сквида. Отсюда вопрос, как сделать так, чтоб они использовали кэши друг-друга