squid.conf по-русски. Секция Influencing Request Forwarding

Перевод подготовила команда проекта http://break-people.ru

Секция: INFLUENCING REQUEST FORWARDING
-----------------------------------------------------------------------------

TAG: nonhierarchical_direct

Этот тэг определяет, будет ли Squid обращатся к первоисточнику(оригинальному серверу в Интернет) напрямую, если запрос является non-hierarchical(Не иерархическим). В данном контексте, «non-hierarchical» означает, что либо запрос совпадает со списком hierarchy_stoplist, либо запрос относится к НЕкэшируемым запросам!

Если вы установите значение этого тэга в «on», то Squid будет перенаправлять такие(non-hierarchical) запросы к родительскому кэшу.

Помните, что установив значение в «off», вы дополнительно увеличите время обработки этого запроса, без какого либо увеличения количества попаданий в кэш(HIT ratio).

Если ваш прокси сервер находится ЗА файрволлом(firewall), то вам лучше использовать тэг never_direct вместо этого.

По умолчанию:

nonhierarchical_direct on

TAG: prefer_direct

Этот тэг определяет, будет ли Squid использовать сначала выход напрямую в Интернет с запросом, вместо того, чтобы сначала спросить у родительского кэша. Обычно Squid, для большинства запросов старается использовать родительский кэш(вместо выхода напрямую). Если, по некоторым причинам, вам необходимо, чтобы Squid шел сразу напрямую(direct) в Интернет с запросом, и только в случае ошибки или невозможности пройти напрямую, Squid бы обращался к родительскому кэшу, то установите этот тэга в значение «on».

Комбинация из тэгов nonhierarchical_direct off и prefer_direct on приведет к тому, что Squid будет использовать родительский кэш только тогда, когда не получается обработать запрос напрямую.

Примечание: Если вы хотите использовать родительский кэш для ВСЕХ запросов, то вам нужно обратить внимание на тэг never_direct. Тэг prefer_direct позволяет изменить только то, как будет действовать Squid при работе с кэшируемыми объектами.

По умолчанию:

prefer_direct off

TAG: always_direct

Использование:

always_direct allow|deny [!]aclname ...

Этот тэг позволяет определить какие(чьи) запросы, будут ВСЕГДА идти напрямую в Интернет. В качестве параметров тэга используются списки ACL. Например, для того, чтобы некоторые локальные сервера шли в обход братских и родительских кэшей, напрямую в Интернет, следует сначала создать соответствующий ACL и уже его(ACL) использовать в тэге always_direct. Получится что-то вроде этого:

acl local-servers dstdomain my.domain.net
always_direct allow local-servers

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

acl FTP proto FTP
always_direct allow FTP

Примечание: Существует и обратный тэгу always_direct тэг never_direct. Вы должны понимать, что "always_direct deny foo" НЕ(!) то же самое, что и "never_direct allow foo". Правило deny для тэга always_direct можно использовать, для вычленения некоторой подгруппы из группы. Например, чтобы пускать напрямую все локальные сервера, а группу local-external, также относящуюся к локальным серверам, нет(т.е. не пускать напрямую).

Пример:

acl local-external dstdomain external.foo.net
acl local-servers dstdomain .foo.net
always_direct deny local-external
always_direct allow local-servers

Примечание: Если вы хотите, чтобы клиент шел напрямую к первоисточнику(оригинальному серверу в Интернет) минуя Squid, то вам необходимо проделать некоторые настройки на стороне клиента(например, исключить его из тех, кто получает доступ в Интернет через Squid). Конфигурирование в этом ключе Squid, лишь сообщает прокси-серверу, каким путем получить объект(напрямую или через соседские кэши).

Примечание: Этот тэг никак не влияет на кэширование. Ответы кэшируются как обычно, даже от тех запросов, которые обозначены тэгом always_direct. Для того, чтобы НЕ кэшировать ответы, смотри опцию 'no_cache'.

Этот тэг является заменой local_domain и and local_ip.

По умолчанию:

none

TAG: never_direct

Использование:

never_direct allow|deny [!]aclname ...

Этот тэг позволяет определить какие(чьи) запросы, НИКОГДА НЕ БУДУТ идти напрямую в Интернет. В качестве параметров тэга используются списки ACL.

never_direct является противоположностью always_direct. Прочтите сначала описание тэга always_direct, если вы до сих пор этого не сделалали.

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

acl local-servers dstdomain .foo.net
acl all src 0.0.0.0/0.0.0.0
never_direct deny local-servers
never_direct allow all

Если Squid находится за файрволлом(firewall) и существуют локальные внутренние сервера, также за файрволлом(firewal), то для того, чтобы организовать доступ напрямую для этих внутренних серверов, следует записать что-то вроде этого:

acl local-intranet dstdomain .foo.net
acl local-external dstdomain external.foo.net
always_direct deny local-external
always_direct allow local-intranet
never_direct allow all

Этот тэг заменяет тэги inside_firewall и firewall_ip.

По умолчанию:

none



Ссылки:

К содержанию
Squid на практике
Работа с Squid через Webmin
Анализатор логов Squid

© Copyright 2004-2017 - CMS Made Simple
Сайт работает на CMS Made Simple version 1.4.1

© Все печеньки Break-people.ru принадлежат авторам проекта.

Яндекс цитирования Рейтинг@Mail.ru Яндекс.Метрика