Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
squid.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
1.45 Mб
Скачать

16.14 А как насчет пмс?

СКОРО БУДЕТ!

16.15 Есть ли Спецификация Cache Digest?

Существует в настоящее время, благодаря Мартин Гамильтон и Алекс Rousskov .

Кэш дайджесты, как это реализовано в Squid 2.1.PATCH2, описаны в кэш-дайджест-v5.txt .

Вы заметите, что формат похож на интернет-проекте. Мы решили не представить этот документ в виде проекта, потому что кэш Сборники, скорее всего, претерпит некоторые важные изменения, прежде чем мы хотим, чтобы попытаться сделать его стандартом.

16.16 Можно ли будет шататься моменты времени, когда cache_digests извлекаются из сверстников?

Примечание: Информация, представленная здесь верна для версии 2.2.

Squid уже есть код для распространения дайджеста обновлений. Алгоритм в настоящее время контролируется несколькими жестко заданные константы в peer_digest.c . Например,GlobDigestReqMinGap переменной определяет минимальный интервал между двумя запросы на дайджест. Вы можете попробовать увеличить значение GlobDigestReqMinGap с 60 секунд на то, что Вы чувствуете себя комфортно (но она должна быть меньше, чем час / number_of_peers, конечно).

Обратите внимание, что бы вы ни делали, вы все равно должны дать Squid достаточно времени и пропускной способности для извлечения всех дайджестов. В зависимости от среды, что пропускная способность может быть более или менее ПМС потребует. Открытые дайджест дельт (x10 меньше переваривает себя) может быть единственным способом решить `` большом масштабе'' проблемы.

17. Прозрачное кеширование/проксирование

Как мне заставить броузеры пользователей использовать мой кеш без настройки броузеров на использование прокси?

Прежде всего, обязательно прочитайте полные комментарии в файле squid.conf! Это единственный полный источник информации о настройке. Данная инструкция верна на дату написания (Июль 1999.)

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

  1. Откомпилирровать и запустить версию Squid, которая принимает соединения для других адресов. Для некоторых операционных систем вам потребуется отконфигурировать и собрать версию Squid, которая сможет распознать "чужие" (hijacked) соединения и различать адреса назначения. Для Linux это скорее всего будет работать автоматически. Для *BSD-систем вам возможно понадобится пересобрать squid с опцией --enable-ipf-transparent. (Не забывайте делать make clean, если прежняя конфигурация не содержала этой опции или корректные установки не будут присутствовать.)

  2. Настроить Squid на прием и обработку соединений. Вам следует изменить параметры настройки Squid, чтобы он мог распознать "чужие" (hijacked) соединения и различать адреса назначения. Вот необходимые установки для squid.conf:

  3. http_port 8080

  4. httpd_accel_host virtual

  5. httpd_accel_port 80

  6. httpd_accel_with_proxy on

  7. httpd_accel_uses_host_header on

  8. Настроить ваш кеш-сервер на прием пакетов. Вам необходимо настроить ваш хост с кешем на прием перенаправленных пакетов с любого IP-адреса по порту 80 и доставлять его вашему кеш-приложению. Это обычно делается при помощи поддержки IP filtering/forwarding, встроенной в ядро. В linux это называется iptables (kernel 2.4.x), ipchains (2.2.x) или ipfwadm (2.0.x). На FreeBSD это называется ipfw. Другие BSD-системы могут использовать ip filter или ipnat. На большинстве систем это может потребовать пересборки ядра или добавления новых подгружаемых модулей ядра.

  9. Направить пакеты к вашему кеш-серверу. Есть несколько путей сделать это. Если ваша машина с прокси стоит на пути прохождения пакета (т.е. это маршрутизатор между пользователями вашего прокси и Интернет), то можете не беспокоиться о этом шаге. Так бывает, если вы установили Squid на машину с файерволом или на UNIX-роутер. Если кеш не является естественной частью пути соединений, то вам нужно заворачивать пакеты с нормального пути на ваш хост с кешем, используя роутер или свитч. Возможно вы сможете сделать это при помощи Cisco, используя ее "route maps" (зависит от версии вашей IOS). Вы можете также использовать свитч 4-го уровня типа Alteon ACE-director или Foundry Networks ServerIron. Наконец, вы можете использовать другой продукт типа router/load-balancer или возможности маршрутизации сервера доступа.

Замечания:

  • http_port 8080 в этом примере предполагает, что вы будете перенаправлять пакеты, приходящие на порт 80, на порт 8080 на вашей машине с кешем. Если ваш Squid запущен на порту 3128 (к примеру), вы можете оставить http_port 3128 без изменений и перенаправлять пакеты на этот порт, используя ваши команды IP filtering/forwarding.

  • В опции httpd_accel_host virtual - волшебное слово!

  • Параметр httpd_accel_with_proxy on требуется, чтобы включить режим прозрачного проскирования; в действительности в режиме прозрачного прокси Squid считает, что он работает и как акселератор (т.е. принимает пакеты для других IP на порту 80), и как кеширующий прокси (т.е. обслуживает файлы из кеша).

  • Вы обязаны использовать httpd_accel_uses_host_header on, чтобы кеш нормально работал в режиме прозрачного проксирования. Это позволит кешу индексировать сохраняемые им объекты по действительным именам хостов, как это делает обычный прокси, а не по IP-адресам. Это особенно важно, если вы хотите использовать иерархию родительских прокси или разделять данные кеша между пользователями прозрачного прокси и пользователями непрозрачного прокси, которое вы можете при помощи Squid в данной конфигурации.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]