Конфиг SQUID на русском

Конфигурирование прокси-сервера (Установка, настройка SQUID)
Ответить
Аватара пользователя
Роман Торопов
Администратор
Сообщения: 134
Зарегистрирован: 24 мар 2008, 10:49
Откуда: г. Пермь
Контактная информация:

Конфиг SQUID на русском

Сообщение Роман Торопов » 25 мар 2008, 09:45

ДОБРО ПОЖАЛОВАТЬ В SQUID 2

Это файл конфигурации Squid, заданный по умолчанию. Вы можете зайти на главную страницу Squid (http://www.squid-cache.org/) для FAQ и другой документации.

Файл конфигурации Squid, заданный по умолчанию, показывает, какие значения могут быть заданы по умолчанию для различных опций. Если вам не нужно изменять значение, заданное по умолчанию, вам не нужно комментировать эту строку. Это может вызвать проблемы со временем исполнения. В некоторых случаях “none” означает, что по умолчанию не задано никакого значения вообще, а в других случаях это означает, что опция выполняется – тогда для ключевого слова приводятся комментарии.

ОПЦИИ СЕТИ

TAG: http_port
Применение: port
Имя главного компьютера: port
1.2.3.4: порт

Адреса двунаправленного канала, где Squid выполняет запросы HTTP клиента. Вы можете указать несколько адресов двунаправленного канала. Существует три формы: сам порт, порт и имя главного компьютера и IP адрес с портом. Если вы указали имя главного компьютера или IP адрес, Squid соединит двунаправленный канал к указанному адресу. Это заменяет “tcp_incoming_address” опцию. Вероятнее всего, что вам не придется соединяться с указанным адресом, так что вы можете использовать только номер порта.

Номер порта, заданный по умолчанию, 3128.

Если вы запустили Squid в режиме ускорителя, вам, вероятнее всего, придется подключиться к порту 80.

Опция –а командной строки заменяет номер *первого* порта, представленного в списке. Однако, эта опция НЕ заменит IP адрес.

Вы можете указать несколько адресов двунаправленного канала на нескольких строках.

Если вы запустили Squid на машине с двойной привязкой с внутренним и внешним интерфейсом, мы рекомендуем вам указать внутренний адрес: port в http_port. Таким способом можно увидеть Squid на внутреннем адресе.

Значение, заданное по умолчанию: http_port 3128

TAG: https_port

Применение: [ip:] port cert=certificate.pem [key=key.pem] [options…]

Адреса двунаправленного канала, где Squid выполняет запросы HTTPS клиента.

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

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

Опции:

cert = путь к SSL сертификату (PEM формат)

key = если не указан путь к SSL файл индивидуального ключа (PEM формат), сертифицированный файл считается совместным сертификатом или ключевым файлом.

version – поддерживается версия SSL/TLS
1 автоматическая (заданная по умолчанию)
2 SSLv2 только
3 SSLv3 только
4 TLSv1 только

cipher = двоеточие разделяет список поддерживаемых шифров

options = Varions SSL опции машины. Самые важные из них:
NO_SSLv2 блокирует использование SSLv2
NO_SSLv3 блокирует использование SSLv3
NO_TLSv1 блокирует использование TLSv1
Более подробный список вы можете найти в src/ssl_support.c или OpenSSL документации.

Значение, заданное по умолчанию: none

TAG:ssl_unclean_shutdown
Некоторые ошибки устройств быстрого просмотра (особенно MSIE) в SSL сообщениях о выключении.

Значение, заданное по умолчанию: ssl_unclean_shutdown off

TAG: icp_port
Номер порта, на который Squid отправляет и получает ICP запросы в соседние кэши и из соседних кэшов. Значение, заданное по умолчанию, 3130. Чтобы заблокировать использование данного параметра, нажмите «0». Может быть заменено –u в командной строке.

Значение, заданное по умолчанию:icp_port 3130

TAG:htcp_port
Примечание: эта опция применима в том случае, когда Squid имеет –enable-htcp опцию

Номер порта, на который Squid отправляет и получает HTCP запросы в и из соседних кэшов. Значение, заданное по умолчанию, 4827. чтобы заблокировать использование, нажмите «0».

Значение, заданное по умолчанию: htcp_port 4827

TAG: mcast_groups
Этот управляющий код определяет список широковещательных групп, которые ваш сервер должен подключить для того, чтобы получить широковещательные ICP запросы.

Примечание! Всегда обращайте внимание, что вы вводите. Надеемся, вы понимаете разницу между ICP_query_ и ICP_reply_. Эта опция должна быть установлена в том случае, если вы хотите ПОЛУЧИТЬ широковещательные запросы. НЕ устанавливайте эту опцию, если хотите ОТПРАВИТЬ широковещательные ICP (для этого используйте cache_peer). ICP ответы всегда отправляются через индивидуальную рассылку, поэтому эта опция не влияет на то, получите вы ответы от членов широковещательных групп или нет.

Будьте очень осторожны и не используйте широковещательный адрес, который уже используется другой группой кэшов.

Если вы не уверены, является ли это групповой передачей, прочитайте главу «Групповая передача» в Squid» FAQ (http://www.squid-cache.org/FAQ/).

Применение: mcast_groups 239.128.16. 128 224.0.1.20

По умолчанию, Squid не принимает широковещательные группы.

Значение, заданное по умолчанию: none

TAG: udp_incoming_address
TAG: udp_outgoing_address
udp_incoming_adress используется для входящих ICP пакетов с других кешов.
udp_outgoing address используется для отправления ICP пакетов на другие кэшы.

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

Значение upd_incoming_address 0.0.0.0 указывает на то, что Squid принимает UDP сообщения на всех имеющихся интерфейсах.

Upd_outgoing_address установлен на 255.255.255.255 (по умолчанию).будет иметь тот же двунаправленный канал, что и upd_inconing_address. Если вы хотите изменить этот адрес, чтобы отправлять ICP запросы с помощью другого адреса, то Squid будет принимать ICP запросы с других кэшов.

ПРИМЕЧАНИЕ! udp_incoming_address и udp_outgoing_address не могут иметь одинаковые значения, пока они оба не будут использовать порт 3130.

Значение, заданное по умолчанию:
upd_incoming_address 0.0.0.0
udp_outgoinh_address 255.255.255.255


ОПЦИИ, КОТОРЫЕ ВЛИЯЮТ НА АЛГОРИТМ ВЫБОРА ОКРУЖЕНИЯ

TAG: cache_peer

Чтобы указать другие кэшы в иерархии, используйте формат:

cache_peer hostname type http_port icp_port

Например,

proxy icp
hostname type port port options

cache_peer parent.foo.net parent 3128 3130 [proxy-only]
cache_peer sib1.foo.net sibling 3128 3130 [proxy only]
cache_peer sib2.foo.net sibling 3128 3130 [proxy only]

Наберите: либо «порождающая запись», либо «вершины дерева, имеющего общие вершины»., либо «многоадресная ссылка».

proxy_port: номер порта, на котором кэш принимает запросы модуля доступа

icp_port: используется для запрашивания соседних кэшов на наличие объектов. Чтобы не иметь по соседству ICP, укажите «7» для ICP порта и убедитесь, что соседняя машина имеет UPD эховый порт, который имеет разрешение в файле.

Опции: только модуль доступа
вес=n
ttl=n
нет запроса
значение, заданное по умолчанию
циклический алгоритм
многоадресная ссылка
никакого реферативного журнала
нет netdb обмена
нет задержки
login=user:password | PASS | *:password
connect-timeout=nn
digest-url=url
allow-miss
max-conn
htcp
carp-load-factor

Используйте «proxy-only» для определения объектов, выбранных из этого КЭШа, которые нельзя сохранить локально.

Используйте «weight=n» для определения взвешенной порождающей записи. Вес должен быть целым числом. Вес, заданный по умолчанию, равен 1. Предпочтителен вес больше 1.

Используйте «ttl=n» для определения IP многоадресной ссылки TTL во время отправления ICP запросов на этот адрес. Но используется только для широковещательных групп. Из-за того, что мы не принимаем ICP ответы из случайных главных компьютеров, вы должны конфигурировать члены другой группы.

Используйте «no-query», чтобы НЕ отправлять ICP запросы на соседний узел.

Используйте «default», если это порождающий кэш, который может быть использован как «последний ресурс». Вам следует использовать «default» в ситуациях, когда вы не можете использовать ICP с вашим порождающим кэшом.

Используйте «round-robin» для определения набора порождающих записей, которые должны использоваться в циклическом алгоритме в случае отсутствия ICP запросов.

«multicast-responder» указывает, что названный является членом многовещательной группы. ICP запросы не будут отправлены прямо равноправному пользователю сети, но ICP ответы будут приниматься.

«closest only» указывает на то, что для ICP_OP_MISS ответов мы используем только CLOSEST_PARENT_MISSes и никогда не используем FIRST_PARENT_MISSes..

Используйте «no-digest», чтобы НЕ запрашивать кэш с соседнего узла.

«no-netdb-exchange» блокирует запрашивание ICMP RTT базы данных (NetDB) из соседнего узла.

Используйте no-delay , чтобы защитить соседний узел от воздействия пула задержки.

Используйте «login=user:password», если это лицо или рабочая группа являются модулем доступа и ваша порождающая запись запрашивает аутентификацию модуля доступа. Примечание: эта строка может содержать URL переходы (т.е. 20% пробелов). Это также означает, что % следует записывать как %%.

Используйте «login=PASS», если пользователи должны аутентифицировать в направлении модуля доступа, противоположном основному трафику. Это срабатывает только для основной HTTP схемы аутентификации. Примечание: Чтобы соединить ее с proxy_auth, оба модуля доступа должны совместно использовать базу данных того же пользователя, так как HTTP разрешает ввод только одного логина модуля доступа. Будьте осторожны, т.к. это может привести к использованию пароля модуля доступа равноправными пользователями сети. ИСПОЛЬЗУЙТЕ ОСТОРОЖНО.

Используйте «login=*:password» для передачи имени пользователя в кэш с направлением, противоположном основному трафику, но с установленным паролем. Он используется в том случае, когда равноправный участок сети находится в другом административном домене, но необходимо обозначить каждого пользователя. Звездочка означает дополнительную информацию, которая добавляется к имени пользователя. Она может быть использована для распознавания модуля доступа равноправными пользователями сети. Похоже на login=username:password опцию, описанную выше.

Используйте «connect-timeout=nn!» для определения времени подключения равноправного пользователя. (Смотрите также peer_connect_timeout директиву).

Используйте «digest-url=url» для того, чтобы сообщить Squid, что нужно выбрать реферативный журнал кэша (если эти журналы разрешены) для главного компьютера из указанного URL.

Используйте «allow-miss» чтобы заблокировать Squid использование кэша при отправке запросов на вершину дерева, имеющего общего «родителя». Изначально это применялось, когда cp_hit_stale использовался вершиной дерева, имеющего общего «родителя». Частое использование данной опции может привести к образованию циклов, и вам следует избегать двустороннего пиринга при использовании этой опции (например, отклонить использование равноправного участка сети на запросы, идущие от равноправного пользователя, отклоняя при этом cache_peer_access, если источником является равноправный пользователь).

Используйте «max-conn» для ограничения количества соединений, которые Squid может открыть для этого равноправного пользователя.

Используйте «htcp», чтобы отправить HTCP вместо ICP запросов на соседний узел. Вы, наверное, хотите также установить “icp port” на 4827 вместо 3130.

Используйте «carp-load-factor=f» для определения кэша порождающей записи, как одного из участников CARP массива. «f « значения для всех CARP порождающих записей должны быть добавлены до 1.0.

Примечание: не ICP/HTCP соседние узлы должны быть указаны как порождающие записи.

Значение, заданное по умолчанию: none

TAG:cache_peer_domain

Используется для ограничения доменов, для которых запрашивается соседний кэш. Применение:

cache_peer_domain cache-host domain [domain…]
cache_peer_domain cache-host! Domain

Например, указываете: cache_peer_domain parent.foo.net .edu

Запросы отправляются на «большой сервер» только в том случае, если запрашиваемый объект существует на сервере в edu домене. Если перед именем домена стоит «!», это означает, что запрашиваемый кэш НИ в этом домене.

Примечание! *Любой номер домена может быть дан для кэша-главного компьютера в той же строке или в отдельной.
* Если несколько доменов предоставлены для определенного кэша главного компьютера, используется первый соответствующий домен.
* Кэш главные компьютеры без ограничений домена запрашиваются для всех запросов.
*Нет значений, заданных по умолчанию.
*Существует также “cache_peer_access” управляющий код в ACL разделе.

Значение, заданное по умолчанию: none

TAG: neighbor_type_domain
Neighbor_type_domain neighbor parent|sibling domain domain…

Сейчас стало возможным изменять вид соседнего узла для определенных доменов. Вы можете рассматривать несколько доменов иначе, чем они заданы по умолчанию в соседнем узле, указанном на “cache_peer” строке. Необходимым условием является перечислить домены, которые рассматриваются иначе, потому что тип соседнего узла, заданного по умолчанию, требует имен главного компьютера, которые не соответствуют доменам, перечисленным здесь.

ПРИМЕР:
cache_peer parent cache.foo.org 3128 3130
neighbor_type_domain cache.foo,org sibling .com .net
neighbor_type_domain cache.foo,org sibling .au .de

Значение, заданное по умолчанию: none

TAG: icp_query_timeout (msec)
Обычно Squid автоматически определяет оптимальное значение тайм-аута ICP запроса, которое основывается на времени на передачу и подтверждение приема последних ICP запросов. Если вы хотите отменить значение, указанное Squid, установите “icp_query_timeout” на ненулевое значение. Это значение указывается в МИЛЛИСЕКУНДАХ, т.е. для того, чтобы использовать 2хсекундый тайм-аут (старое значение, заданное по умолчанию), вам нужно написать:

icp_query_timeout 2000

Значение, заданное по умолчанию:
icp_query_timeout 0

TAG: maximum_icp_query_timeout (msec)
Обычно тайм-аут ICP запроса определяется динамично. Но иногда это может привести к использованию очень больших значений (например, 5 секунд). Используйте эту опцию для установления верхней границы динамического значения тайм-аута. НЕ используйте эту опцию для использования фиксированного (вместо динамического) значения тайм-аута. Чтобы установить фиксированный тайм-аут, смотрите “icp_query_timeout” директиву.

Значение, заданное по умолчанию:
Maximum_icp_query_timeout 2000

TAG: mcast_icp_query_timeout (msec)
Для групповых равноправных пользователей Squid регулярно отправляет ICP «пробы», чтобы посчитать сколько других равноправных пользователей используют этот групповой адрес. Это значение определяет сколько Squid будет ждать, чтобы посчитать все ответы. Значение, заданное по умолчанию, 2000 мсек или 2 секунды.

Значение, заданное по умолчанию:
Mcast_icp_query_timeout 2000

TAG: dead_peer_timeout (в секундах)
Этот параметр проверяет, как долго Squid ожидает, чтобы объявить, что кэш равноправного участника сети – «мертвый». Если за этот промежуток времени не получено ICP ответов, Squid объявляет равноправного пользователя мертвым и не ждет от него дальнейшего получения ICP ответов. Однако, он продолжает отправлять ICP запросы, и обозначает равноправного пользователя как живого после получения первого последовательного ICP ответа.

Этот тайм-аут также используется и в том случае, когда Squid получает ICP ответы от равноправных пользователей. Если прошло больше чем “dead_peer” секунд с тех пор как был получен последний ICP ответ, Squid не получит ICP ответ на следующий запрос. Таким образом, если ваше время между запросами больше, чем этот тайм-аут, вы увидите много запросов, отправленных ПРЯМО на начальные серверы вместо порождающих элементов.

Значение, заданное по умолчанию:
dead_peer_timeout

TAG: hierarchy_stoplist
Список слов, из-за которых, если найти их в URL, объект будет обрабатываться непосредственно этим кэшом. Другими словами, используйте этот параметр, чтобы не запрашивать соседние кэши для определенных объектов. Вы можете просмотреть эту опцию много раз.
Мы рекомендуем вам использовать следующую строку:
hierarchy_stoplist cgi-bin?

TAG: no_cache
Список ACL элементов, которые (если они согласованы) становятся причиной непринятия кэша, и ответ не будет кэширован. Другими словами, используйте этот параметр, чтобы определенные параметры никогда не кэшировались.

Вы можете использовать слово «ОТКЛОНИТЬ», чтобы указать ACL имена, которые НЕ должны быть кэшированы.

Мы рекомендуем вам использовать следующие две строки:
acl QUERY urlpath_regex cgi-bin\?
No_cache deny QUERY

ОПЦИИ, КОТОРЫЕ ВЛИЯЮТ НА РАЗМЕР КЭША

TAG: cache_mem (в байтах)

ПРИМЕЧАНИЕ: ЭТОТ ПАРАМЕТР НЕ УКАЗЫВАЕТ МАКСИМАЛЬНЫЙ РАЗМЕР. ОН ТОЛЬКО УСТАНАВЛИВАЕТ ГРАНИЦУ НА ДОПОЛНИТЕЛЬНУЮ ПАМЯТЬ SQUID.

ИЛИ ИСПОЛЬЗУЕТ КАК КЭШ ПАМЯТИ ОБЪЕКТОВ. SQUID ИСПОЛЬЗУЕТ ПАМЯТЬ ДЛЯ ДРУГИХ ВЕЩЕЙ. ДЛЯ БОЛЕЕ ПОДРОБНОЙ ИНФОРМАЦИИ СМОТРИТЕ РАЗДЕЛ 8 SQUID FAQ.

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

Данные для этих объектов хранятся в 4КБ блоках. Этот параметр определяет идеальную верхнюю границу всего размера расположенных 4 КБ блоков. Перемещаемые объекты имеют самый высокий приоритет. Если для входящих данных необходима дополнительная память, отрицательно-кэшированные и горячие объекты будут удалены. Другими словами, отрицательно-кэшированные и горячие объекты заполняют неиспользованную память, ненужную для перемещаемых объектов.

Если обстоятельства требуют, эта граница может быть превышена. Особенно, если скорость входящего запроса требует более, чем “cache_mem” память для размещения перемещаемых объектов, Squid превысит эту границу, чтобы удовлетворить новые запросы. Если нагрузка уменьшается, блоки будут освобождаться до тех пор, пока не будет достигнута отметка уровня. После этого блоки будут использоваться для хранения горячих объектов.

Значение, заданное по умолчанию:
cache_mem 8MB

TAG: cache_swap_low (процентное выражение, 0-100)
TAG: cache_swap_high (процентное выражение, 0-100)

Отметки низкого и высокого уровня для замены объекта кэша, Замена начинается тогда, когда использование перестановки (диска) выше отметки нижнего уровня и пытается установить использование возле отметки нижнего уровня. Как только использование перестановки приблизится к отметке высокого уровня, вытеснение данных станет более сильным. Если использование приблизится к отметке нижнего уровня, с каждым разом будет осуществляться все меньше замен.

Значения, заданные по умолчанию, 90% и 95%. Если у вас большой кэш, 5% будет сотни от мегабайта. В этом случае вы можете установить эти числа ближе друг к другу.

Значение, заданное по умолчанию:
cache_swap_low 90
cache_swap_high 95

TAG: maximum_object_size (в байтах)
Объекты, размер которых превышает данный размер, НЕ будут сохранены на диске. Значение указано в килобайтах и значение, заданное по умолчанию, 4 мегабайта. Если вы хотите получить высокую результативность БИТОВ, вам придется увеличить его. (один 32 мегабайтовый объект приравнивается к 3200 10 килобайтам). Если вы хотите увеличить скорость еще больше, чтобы сохранить ширину полосы пропускания, вам следует оставить ее низкой.

ПРИМЕЧАНИЕ: Если вы используете LFUDA стратегию замещения, вам следует увеличить значение, чтобы максимизировать улучшенный результат LFUDA! Более подробную информацию смотрите replacement_policy.

Значение, заданное по умолчанию:
maximum_object_size 4096KB

TAG: minimum_object_size (в байтах)
Объекты, размер которых меньше данного размера, Не будут сохранены на диске. Значение указано в килобайтах, и значение, заданное по умолчанию, 0 килобайтов, что означает, что минимума нет.

Значение, заданное по умолчанию:
minimum_object_size 0 KB

TAG: maximum_object_size_in_memory
Объекты, размер которых превышает установленный, не будут сохраняться в памяти КЭШа, Следует установить более высокое значение, чтобы иметь к ним частый доступ и улучшить режим работы, пока cache_mem.

Значение, заданное по умолчанию:
maximum_object_size_in_memory 8 KB

TAG: ipcache_size (количество записей)
TAG: ipcache_low (в процентах)
TAG: ipcache_high (в процентах)

Размер, отметка нижнего и верхнего уровней для IP кэша.

Значение, заданное по умолчанию:
ipcache_size 1024
ipcache_low 90
ipcache_high 95

TAG: fqdncache_size (количество записей)
Максимальное количество FQDN кэш записей.

Значение, заданное по умолчанию:
fqdncache_size 1024

TAG: cache_replacement_policy
Параметр стратегии замены кэша определяет, какие объекты вытеснять (заменять), когда необходима память диска.

lru: Squid оригинальный список, основанный на LRU стратегии
heap GDSF: частота поглощающего двойного размера
heap LFUDA: наиболее используемые с динамическим старением
heap LRU: LRU стратегия, внедряемая с помощью «кучи»

Применяется для любых cache_dir строк, перечисленных ниже.

LRU стратегия хранит последние справочные объекты.

GDSF стратегия оптимизирует результат объекта, сохраняя менее популярные объекты в кэше, таким образом, существует больше шансов достичь высокого результата. По сравнению с LFUDA более низкая результативность, потому что вытесняет больше (популярных) объектов из памяти

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

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

ПРИМЕЧАНИЕ: если вы используете LFUDA стратегию замены, вам следует увеличить значение maximum_object_size со значением, заданным по умолчанию, 4096 килобайтов, чтобы максимизировать улучшение потенциального коэффициента эффективности поиска LFUDA.

Более подробную информацию о GDSF и LFUDA стратегии замены кэша смотрите http://www.hpl.hp.com/techreports/1999/HPL-1999-69.html и http://fog.hpl.external.hp.com/techrepo ... 8-173.html..

Значение, заданное по умолчанию:
cache_replacement_policy lru

TAG: memory_replacement_policy
Параметр стратегии замены памяти определяет, какие объекты следует удалить, если нужна свободная память.

Более подробную информацию смотрите cache_replacement_policy.

Значение, заданное по умолчанию:
memory_replacement_policy lru

ИМЕНА ПУТЕЙ ЖУРНАЛА РЕГИСТРАЦИИ И КАТАЛОГИ КЭША

TAG: cache_die
Использование:
cache_dir Type Directory-Name Fs-specific-data [options]

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

Тип определяет, какую систему хранения использовать. Только “ufs” задана по умолчанию. Чтобы использовать любую другую систему хранения, смотрите –enable-storeio configure опцию.

«Каталог» - каталог высшего уровня, где будут храниться файлы подкачки КЭШа. Если вы хотите использовать весь диск для кэширования, это может быть установленный каталог. Каталог должен существовать и записываться Squid. Squid НЕ создает этот каталог для вас.ufs

ufs тип хранения:

“ufs” – старый хорошо известный формат хранения, который всегда существует.

cache_dir ufs Directory-Name Mbytes L1 L2 [options]

«Мегабайты» - количество памяти на диске (MB), которая используется в этом каталоге. Значение, заданное по умолчанию, 100 MB. Измените его в соответствии с вашей конфигурацией. НЕ указывайте здесь размер дисковода.

Если вы хотите, чтобы Squid использовал весь дисковод, вычтите 20% и используйте это значение.

«Уровень-1» - количество подкаталогов первого уровня, которые будут создаваться под названием «Каталог». Значение, заданное по умолчанию, 16.

«Уровень-2» - количество подкаталогов второго уровня, которые будут создаваться под каждым каталогом первого уровня. Значение, заданное по умолчанию, 256.

Aufs тип хранения:

«aufs» используют тот же формат, что и «ufs», используя POSIX–поток, чтобы избежать блокирования основного Squid процесса на диске – I/O. Раньше в Squid он был известен под названием async-io.

cache_dir aufs Directory-Name Mbytes L1 L2 [options]

смотрите выше описание ufs аргумента.

Dskd тип хранения:

«dskd» использует тот же формат, что и “ufs” , использую отдельный процесс, чтобы избежать блокирования основного Squid процесса на диске-I/O.

cache_dir diskd Directory-Name Mbytes L1 L2 [options] [Q1=n] [Q2=n]

Смотрите выше описание ufs аргумента

Q1 указывает количество неподтвержденных I/O запросов, когда Squid прекращает открывать новые файлы. Если в очередях много сообщений, Squid не откроет новые файлы. Значение, заданное по умолчанию, 64.

Q2 указывает количество неподтвержденных сообщений, когда Squid начинает блокировку. Если в очереди много сообщений, Squid блокирует до тех пор, пока не получит ответы на некоторые их них. Значение, заданное по умолчанию, 72.

Если Q1<Q2 (по умолчанию), каталог кэша оптимизируется для минимального времени ответа за счет снижения коэффициента эффективности ожидания. Если Q1>Q2, каталог КЭШа оптимизируется для высокого коэффициента эффективности ожидания за счет увеличения времени ответа.

coss тип хранения:

Block-size=n определяет “block size” для COSS cache_dir`s. Squid использует номера файлов как номера блоков. Т.к. номера файлов ограничены до 24 битов, размер блока определяет максимальный размер COSS раздела. Значение, заданное по умолчанию, 512 байтов, которое приводит к максимальному cache_dir размеру 512<<24или 8 гигабайтам. Обратите внимание на то, что вы не должны изменять размер после того, как Squid запишет несколько объектов на .cache_dir/

Общие опции:
Только для чтения, этот cache_dir только для чтения.

Max-size=n Относится к максимальному размеру объекта, который поддерживает этот. Прежде всего, он используется для выбора, чтобы дампировать объект. Примечание: чтобы оптимально использовать границы максимального размера, вам следует заказать cache_dir строки с меньшим максимальным значением размера сначала, а потом строки с немаксимальным размером.

Обратите внимание, что для coss максимальный размер должен быть меньше, чем COSS_MEMBUF_SZ (1 мегабайт).

Значение, заданное по умолчанию:
cache_dir ufs /var/spool/squid 100 16 256

TAG: cache_access_log
Регистрирует активность запроса клиента. Содержит запись для каждого полученного HTTP и ICP запроса. Чтобы блокировать этот параметр, введите “none”.

Значение, заданное по умолчанию:
cache_access_log/var/log/squid/access.log

TAD: cache_log
Регистрирование файла в кэше. Туда поступает общая информация о режиме работы вашего кэша. Вы можете увеличить количество данных на этом файле с помощью “debug options” опции.

Значение, заданное по умолчанию:
cache_log/var/log/squid/cache.log

TAG: cache_store_log
Регистрирует деятельность программы управления памятью. Показывает, какие объекты вытесняются из кэша, какие объекты сохраняются и на сколько. Чтобы заблокировать, введите “none”. Больше нет сервисных программ для анализа этих данных, т.е. вы можете спокойно заблокировать этот параметр.

Значение, заданное по умолчанию:
cache_store_log/var/log/squid/store.log

TAG: cache_swap_log
Размещение для кэша «swap,state» файла. Этот файл регистрации хранит метаданные объектов, сохраненных на диске. Используется для обновления кэша во время запуска. Обычно этот файл находится в каждом «cache_dir» каталоге, но здесь вы можете указать переменное имя пути. Обратите внимание: вы должны указать полное имя файла, а не только каталога. Т.к. это указатель всего списка объектов, вы НЕ МОЖЕТЕ периодически сдвигать его!

Если %s может быть использовано в имени файла, его заменяют на имя кэша cache_dir, где / заменяется «.». Это необходимо для того, чтобы добавить/удалить cache_dir строки, если используется cache_swap_log.

Если у вас больше, чем один “cache_dir”, и %s не используется в имени, эти файлы подкачки будут иметь следующие названия:

cache_swap_log.00
cache_swap_log.01
cache_swap_log.02

Расширение номера, которое добавляется автоматически, соответствует порядку “cache_dir” строк в данном файле конфигурации. Если вы изменяете порядок “cache_dir” строк в этом файле, эти файлы регистрации НЕ будут соответствовать правильной “cache_dir” записи (пока вы не переименуете их вручную). Мы рекомендуем вам НЕ использовать эту опцию. Лучше всего хранить эти файлы регистрации в каждом “cache_dir” каталоге.

Значение, заданное по умолчанию:
none

TAG: emulate_httpd_log вкл./выкл.
Кэш может эмулировать формат файла регистрации, который используют многие «httpd» программы. Чтобы заблокировать/разрешить эту эмуляцию, установите emulate_httpd_log на «off» или «on». По умолчанию следует использовать формат родного файла регистрации, т.к. он содержит полезную информацию для использования в Squid.

Значение, заданное по умолчанию:
emulate_httpd_log off

TAG: log_ip_on_direct вкл./выкл.
Зарегистрируйте назначение IP адреса в иерархии. Раньше Squid версии регистрировали имя главного компьютера здесь. Если вы предпочитаете старый способ, установите данный параметр на «off».

Значение, заданное по умолчанию:
log_ip_on_direct on

TAG: mime_table
Имя пути к Squid MIME таблице. Вам не нужно его изменять, но файл по умолчанию содержит примеры и информацию о форматировании.

Значение, заданное по умолчанию:
mime_table /etc/squid/mime.conf

TAG: log_mime_hdrs вкл./выкл.
Кэш может записать и запрос, и ответ MIME заголовков для каждой HTTP транзакции. Заголовки имеют коды безопасности, и появляются в виде двух полей в скобках в конце файла регистрации доступа (и для своего формата и для httpd-emulated формата). Чтобы разрешить эту регистрацию, установите log_mime_hdrs на «on».

Значение, заданное по умолчанию:
log_mime_hdrs выкл.

TAG: useragent_log
Squid переписывает поле Пользователь-Агент из HTTP запросов на имя файла, указанного здесь. По умолчанию referer_log заблокирован.

Значение, заданное по умолчанию:
none

TAG: referrer_log
Примечание: Эта опция применима только тогда, когда Squid обновляется с помощью –enable-referer-log опции.

Squid перепишет Referer поле из HTTP запросов на имя файла, указанного здесь. По умолчанию referrer_log заблокирован.

Значение, заданное по умолчанию: none

TAG: pid_filename
Имя файла переписать на -id. Чтобы заблокировать этот параметр, введите «none».

Значение, заданное по умолчанию:
pid_filename/var/run/squid.pid

TAG: debug_options
Опции регистрации устанавливаются как раздел, уровень, где каждый исходный файл рассматривается как отдельный раздел. Нижние уровни в результате приводят к меньшему выпуску, полное устранение неполадок (уровень 9) может привести ск созданию очень большого файла регистрации, так что будьте осторожны. Волшебное слово «ALL» устанавливает уровни исправления ошибок для всех разделов. Мы рекомендуем использовать «ALL,1».

Значение, заданное по умолчанию:
Debug_options ALL, 1

TAG: log_fqdn вкл./выкл.

Включите этот параметр, если вы хотите полностью зарегистрировать имена доменов в файле регистрации доступа. Чтобы выполнить это, Squid осуществляет DNS поиск всех IP подключенных. Это может (в некоторых ситуациях) увеличить время ожидания, что позволяет осуществлять интерактивный просмотр медленнее.

Значение, заданное по умолчанию:
log_fqdn выкл.

TAG: client_netmask
Сетевая маска для адресов клиента в файлах регистрации и выходе. Измените этот параметр, чтобы защитить персональную информацию клиентов вашего кэша. Сетевая маска 255.255.255.0 зарегистрирует все IP в том диапазоне с последней цифрой «0».

Значение, заданное по умолчанию:
client_netmask 255.255.255.255

ОПЦИИ ДЛЯ ПРОГРАММ ВНЕШНЕЙ ПОДДЕРЖКИ

TAG: ftp_user
Если вы хотите, чтобы анонимный пароль стал более информативным (и разрешить использование picky ftp серверы), установите его на что-то необходимое для вашего домена, например, wwwuser@somewhere/net.

Причиной того, что по умолчанию задано не использовать домен, является то, что запрос может быть сделан от лица пользователя в любом домене, в зависимости от того как используется кэш. Некоторые ftp серверы действуют, если адрес электронной почты действителен (например, perl.com).

Значение, заданное по умолчанию:
ftp_user Squid@

TAG: ftp_list_width
Устанавливает ширину ftp распечаток. Этот параметр должен быть установлен в соответствии с шириной стандартной программы быстрого просмотра. Если вы установите слишком маленькое значение, длина длинных имен файлов будет уменьшена при быстром просмотре ftp сайтов.

Значение, заданное по умолчанию:
ftp_list_width 32

TAG: ftp_passive
Если ваш межсетевой экран не позволяет Squid использовать пассивные подключения, выключите эту опцию.

Значение, заданное по умолчанию:
ftp_passive on

TAG: ftp_sanitycheck
По причинам безопасности и целостности данных Squid по умолчанию выполняет санитарные проверки адресов FTP подключений данных, гарантируя, что данные поступят на запрашиваемый сервер. Если вы хотите разрешить FTP соединения к серверам, используя другие IP адреса, отключите эту опцию.

Значение, заданное по умолчанию:
ftp_sanitycheck on

TAG: ftp_telnet_protocol
FTP протокол официально предназначен для использования telnet протокола в качестве канала передачи для контрольного подключения. Однако, многие разработки не удаются, и не принимают во внимание FTP протокол.

Если при доступе к файлам у вас возникают проблемы с ASCII кодом 255 на пути или с ASCII кодом, вы можете попытаться установить эту директиву на «off». Если это поможет, сообщите оператору FTP серверу, что их FTP сервер неисправен и не соответствует FTP стандарту.

Значение, заданное по умолчанию:
ftp_telnet_protocol on

TAG: cache_dns_program
Примечание: Эта опция доступна только тогда, когда Squid имеет –disable-internal-dns опцию.

Укажите расположение для dnslookup процесса.

Значение, заданное по умолчанию:
cache_dns_program/usr/lib/squid/dnsserver

TAG: dns_children
Примечание: Эта опция доступна только тогда, когда Squid имеет –disable-internal-dns опцию.

Количество процессов порождают подпроцессы к поискам DNS имени. Для трудно загружаемых кэшов на большие серверы, вам следует увеличить это значение минимум на 10. Максимальное значение: 32. Значение, заданное по умолчанию: 5.

Вы должны иметь, по крайней мере, один процесс.

Значение, заданное по умолчанию:
dns_children

TAG: dns_retransmit_interval
Интервал начальной повторной передачи для DNS запросов. Интервал удваивается каждый раз, когда выполняется конфигурация всех DNS серверов.

Значение, заданное по умолчанию:
dns_retransmit_interval 5 seconds

TAG: dns_timeout
Таймаут DNS запроса. Если не получено ни одного ответа на DNS запрос в течение этого времени, все DNS серверы для запрашиваемого домена считаются недоступными.

Значение, заданное по умолчанию:
dns_timeout 2 minutes

TAG: dns_defnames on|off
Примечание: Эта опция доступна только в том случае, если Squid имеет –disable-internal-dns опцию.

Обычно “dnsserver” блокирует опцию RES_DEFNAMES – преобразователя IP адресов (см. res_init(3)). Это предотвращает разъяснение имен главного компьютера, состояшие из одного компонента. Чтобы разрешить dnsserver обрабатывать имна, состоящие из одного компонента, разрешите эту опцию.

Значение, заданное по умолчанию:
dns_defnames off

TAG: dns_nameservers
Используйте этот параметр, если хотите определить список DNS имени сервера (IP адреса), которые вы используете вместо серверов в вашем /etc/resolv.conf файле.
Если никакого значения не установлено на Windows платформе или в /etc/resolv/conf файле, берутся списки DNS имен серверов из Windows системного реестра. Поддерживаются и статические и динамические DHCP конфигурации.

Пример: dns_nameservers 10.0.0.1 192.172.0.4

Значение, заданное по умолчанию: none

TAG: hosts_file
Расположение базы данных имени IP адреса местного главного компьютера, Многие операционные системы имеют такой файл: под Un*X задано по умолчанию в /etc/hosts. MS-Windows NT/2000 заменяет его в %SystemRoot% (по умолчанию: c;\winnt)\system32\drivers\etc\hosts, пока Windows 9x/ME заменяет его в %windir% (обычно c;\windows)\hosts.

Файл содержит отдельные определения на новой строке, в форме Ip_address_in_dotted_form имени [name…], имена разделены пробелами. Строки, которые начинаются со знака #, являются комментариями.

Файл проверяется при запуске и во время конфигурации. Если он установлен на “none”, он не будет проверяться. Если используется append_domain, домен будет добавлен в локальный домен (т.е. не содержит точки).

Значение, заданное по умолчанию:
hosts_file/etc/hosts

TAG: diskd_program
Указывает расположение diskd выполняемой опции.
Обратите внимание, что эта опция используется только тогда, когда вы компилированы в diskd как один из сохраненных io модулей.

Значение, заданное по умолчанию:
diskd_program /usr/lib/squid/diskd

TAG: unlinkd_program
Определите расположение выполняемой опции для процесса удаления файла.

Значение, заданное по умолчанию:
unlinkd_program/usr/lib/squid/unlinkd

TAG: pinger_program
Определите расположение выполняемой опции для pinger процесса.

Значение, заданное по умолчанию:
pinger_program /usr/lib/squid/pinger

TAG: redirect_program
Определите расположение выполняемой опции для URL редиректора. Так как они могут выполнять почти все функции. Как записать одну смотрите раздел 15 FAQ. По умолчанию редиректор не используется.

Значение, заданное по умолчанию:
none

TAG: redirect_children
Если вы запустили мало процессов, Squid вынуждена будет ждать, чтобы обработать незавершенные задания URL, замедляя ее. Если вы запустили слишком много процессов, они будут использовать ресурсы RAM или другой системы.

Значение, заданное по умолчанию:
redirect_children 5

TAG: redirect_rewrites_host_header
По умолчанию Squid переписывает любой Host: заголовок в переадресованных запросах. Если вы запустили ускоритель, на редиректор это не окажет ожидаемого воздействия.

Значение, заданное по умолчанию:
redirect_rewrites_host_header on

TAG: redirector access
Если обозначено, этот список доступа указывает, какие запросы направлять на процесс редиректора. По умолчанию отправляются все запросы.

Значение, заданное по умолчанию:
none

TAG: auth_param
Используется для определения параметров для различных схем аутентификации, поддерживаемые Squid

формат:auth_param scheme parameter [setting]

Порядок, в котром схемы аутентификации представлены клиенту, зависит от порядка, в котором схемы появились первый раз в config файле. IE имеет ошибку (это не rfc 2617 уступка), использует основную схему, если основа представлена первой записью, даже если представлены более секретные схемы. Сейчас необходимо использовать порядок, описанных в разделах ниже. Если с другими программами быстрого просмотра возникают трудности, (не распознают предложенные схемы, даже если вы используете основную), сначала установите основную или заблокируйте другие схемы (превращая в комментарий запись программы).

Как только будет выполнена полная конфигурация схемы аутентификации, она может быть закрыта только при условии закрытия и перезапуска. Изменения могут быть выполнены на ходу и активизироваться при повторной конфигурации. I.E. Вы можете изменить другую систему консультативной поддержки, но вы не сможете полностью вернуть систему в исходное состояние.

Обратите внимание, что в то время пока эта директива определяет, как осуществляется процесс аутентификации Squid, он автоматически не активирует аутентификацию. Чтобы использовать аутентификацию, вы должны дополнительно использовать acl, основанные на имени логина в http_access (proxy_auth, proxy_auth_regex или внешний с % LOGIN, используемый в управляющем коде формата). Программа быстрого просмотра будет вызвана для аутентификации http_access и снова будет вызвана для новых мандатов логина, если запрос отклоняется proxy_auth type acl.

=== параметры для основной схемы ===

“program” cmdline
Определяет команду для внешнего аутентификатора. Такая программа читает строку, содержащую «пароль имени пользователя» и ответы “OK” или “ERR” в бесконечном цикле. За “ERR” ответами может следовать описание ошибки в качестве %m на возвращенной странице, содержащей ошибку.

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

Если вы хотите использовать обычную аутентификацию модуля доступа, перепрыгните на helpers/basic_auth/NCSA каталог и введите:
%make
%make install

Затем установите эту строку на следующее:

auth_param basic program /usr/libexec/ncsa_auth/usr/etc/passwd

“children” numberofchildren

Количество процессов аутентификатора (по умолчанию). Если вы запустили слишком мало процессов, вынуждена будет ждать их для обработки невыполненных заданий.auth_param digest program /usr/libexec/digest_auth_pw /usr/etc/digpass

“children” numberofchildren
Squid H(A1) H(A1)
auth_param digest children 5

“realm” realmstring
Указывает имя области, которое направляется клиенту для схемы аутентификации digest proxy (часть текста, которую увидит пользователь, когда введет свое имя и пароль).
auth_param digest realm Squid proxy-caching web server

“nonce_garbage_interval” timeinterval
Указывает промежуток времени, который предоставляется для проверки клиентов на достоверность.
auth_param digest nonce_garbage_interval 5 minutes

“nonce_max_duration” timeinterval
Указывает максимальную длину времени, в течение которого действует данное время. auth_param digest nonce_max_duration 30 minutes

“nonce_max_count” number
Указывает максимальное количество раз, когда может использоваться данное время.
auth_param digest nonce_max_count 50

“nonce_strictness” on|off
определяет, требует ли squid строгого шага – 1 для счета времени или только возрастания (off для использования, когда агенты создают счет времени , где обычно отсутствует 1 (например, 1,2,4,6)).
auth_param digest nonce_strictness off

“check_nonce_count” on|off
Эта директива, если установлена на off, может заблокировать проверку счета времени для работы buggy digest qop вариантов в определенных версиях основных программ быстрого просмотра. По умолчанию задана проверка счета времени для защиты от воспроизведения аутентификации.
auth_param digest check_nonce_count on

“post_workaroud” on|off
Это прием для определенных программ быстрого просмотра, который отправляет неверный запрос в POST запросы, когда снова используется то же время, которое требовалось ранее для ответа на GET запрос.
auth_param digest post_workaround off

===Опции NTLM схемы следующие:===

“program” cmdline
Определяет команду для внешнего ntlm аутентификатора. Такая программа принимает участие в NTLMSSP обменах между Squid и клиентом, и считывает команды в соответствии с Squid ntlmssp протоколом системы консультативной поддержки. Более подробную информацию смотрите helpers/ntlm_auth/. Рекомендуемый ntlm_auth аутентификатор из Samba-3.X, но некоторое количество других аутентификаторов доступно.

По умолчанию схема аутентификации не используется до тех пор, пока не указана программа.
auth_param ntlm program /path/to/samba/bin/ntlm_auth –helper-protocol =squid-2.5-ntlmssp

“children” numberofchildren
Количество процессов аутентификатора (не задано по умолчанию). Если вы запустили слишком мало процессов, Squid вынуждена будет ждать их для обработки невыполненных заданий для подтверждения мандатов. Когда будет выполнено подтверждение мандатов через (медленную) сеть, вам, наверняка, понадобится множество процессов аутентификатора.
auth_param ntlm children 5

“max_challenge_reuses” number
Максимальное количество раз, когда вызов системы консультативной поддержки ntlm аутентификации может быть отклонен. С увеличением количества увеличивается незащищенность данных при воспроизведении атак в вашей сети. 0 (значение, заданное по умолчанию) означает, что вызов используется только один раз. Смотрите также max_ntlm_challenge_lifetime директиву, чтобы разрешить повторное использование вызова.
auth_param ntlm max_challenge_reuses 0

“max_challenge_lifetime” timespan
Максимальный период времени, за который вновь используется ntlm вызов. Фактический период будет минимумом этого времени и количество вновь используемых вызовов.
auth_param ntlm max_challenge_lifetime 2 minutes

“use_ntlm_negotiate” on|off
Разрешает поддержку для обмена NTLM NEGOTIATE пакета с системой консультативной поддержки. Конфигурированный ntlm аутентификатор должен уметь обрабатывать NTLM NEGOTIATE пакет. Если неуверенны, смотрите документацию аутентификатора программ. ntlm_auth из Samba-3.0.2 или поздние версии использования этой опции.
NEGOTIATE пакет необходим для поддержки NTLMv2 и некоторого количества других доступных NTLMSSPопций и также гарантирует более успешное согласование сетей. Разрешение этого параметра также решает проблемы, возникающие, когда стратегия NT домена ограничивает пользователям доступ только на определенные рабочие станции. Если этот параметр отключен, всем пользователям разрешается зарегистрироваться на серверах-посредниках, или они получат сообщение, содержащее ошибку «неправильная рабочая станция», и в доступе будет отказано при попытке использования Squid услуг.
Использование NEGOTIATE несовместимо с повторным использованием вызова, таким образом, разрешение этого параметра ЗАМЕНИТ max_challenge_reuses и max_challenge_lifetime параметры и установит их на 0.

auth_param ntlm use_ntlm_negotiate off

Рекомендуемые параметры для минимальной конфигурации:
auth_param digest program<uncomment and complete this line>
auth_param digest children 5
auth_param digest realm Squid proxy-caching web server
auth_param digest nonce_garbage_interval 5 minutes
auth_param digest nonce_max_duration 30 minutes
auth_param digest nonce_max_count 50
auth_param ntlm program <uncomment and complete this line to activate>
auth_param ntlm children 5
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutes
auth_param ntlm use_ntlm_negotiate off
auth_param basic program <uncomment and complete this line>
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

TAG: authenticate_cache_garbage_interval
Период времени между сборкой мусора вдоль кэша имени пользователя. Это компромисс между использованием памяти (длинные интервалы – 2 дня) и CPU (короткие интервалы – 1 минута). Изменять этот параметр стоит только в том случае, если будут веские причины.

Значение, заданное по умолчанию:
authenticate_cache_garbage_interval 1 hour

TAG: authenticate_ttl
Какое то время пользователь и его мандаты остаются в системе кэша пользователя со времени их последнего запроса. Когда пройдет промежуток сбора мусора, все мандаты пользователя, которые прошли свой TTL, удаляются из памяти.

Значение, заданное по умолчанию:
authenticate_ttl 1 hour

TAG: authenticate_ip_ttl
Если вы используете аутентификацию модуля доступа и “max_user_ip” ACL , эта директива контролирует, как долго Squid помнит IP адреса, которые ассоциируются с каждым пользователем. Используйте маленькое значение (например, 60 секунд), если ваши пользователи могут изменить адреса быстро, т.к. это случай с коммутируемыми соединениями по телефонной линии. Более безопасно использовать большое значение (например, 2 часа) в корпоративном LAN окружении с относительно статическими назначениями адресов.

Значение, заданное по умолчанию:
authenticate_ip_ttl 0 seconds

TAG: external_acl_type
Эта опция определяет внешние acl классы, используя программу консультативной поддержки для просмотра статуса.

external_acl_type name [options] FORMAT../path/to/helper [helper arguments…]

Опции:

ttl=n TTL в секундах для кэшированных результатов (по умолчанию задано 3600 для 1 часа)
negative_ttl=n TTL для отрицательного поиска кэширования (по умолчанию задано то же значение, что и в ttl)
children=n уровень взаимосовместимости/количество процессов на внешний поиск для этого типа
Примечание: смотрите информацию о совместимости ниже
cache=n размер кэша, 0 – абсолютное значение (задано по умолчанию)
protocol=3.0 Используйте предотвращенную URL строку вместо модулирования

Спецификации ФОРМАТА

% LOGIN аутентифицированное имя логина пользователя
% IDENT Ident имя пользователя
% SRC клиент IP
%DST запрашиваемый главный компьютер
%PROTO запрашиваемый протокол
% PORT запрашиваемый порт
% METHOD запрашиваемый метод
% {Header} заголовок HTTP запроса
% {Hdr:member} член списка заголовка HTTP запроса
% {Hdr:;member}
использование члена списка заголовка HTTP запроса; разделитель списка, может быть любой не буквенно-цифровой символ.

В дополнение, любая строка, указанная в обращении acl, будет включена в строку запроса системы консультативной поддержки после указанных форматов (смотрите также “acl external” директиву).

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

Общий синтаксис:

OK/ERR keyword=value…..

Указанные ключевые слова:
user= имя пользователей (логин)
error= описание ошибки (указаны только для ERR результатов)

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

Если протокол =3.0, вместо строк URL использует вышеописанный формат.

Совместимость: children= опция была названа в соответствии с Squid-2.5.STABLE3 и предыдущими версиями, и такой синтаксис все еще используется для сохранения совместимости в Squid-2.5 варианте исполнения. Однако, значение опции взаимосовместимости было изменено в Squid-3 и в старом синтаксисе директивы, из Squid-2.5.STABLE4 и поздних версий. Если вы хотите легко вернуться в раннюю версию Squid-2.5, вы можете захотеть использовать старое имя, если нет, используйте, пожалуйста, новое имя.

Значение, заданное по умолчанию:
none

ОПЦИИ ДЛЯ НАСТРОЙКИ КЭША

TAG: wais_relay_host
TAG: wais_relay_port
Реле WAIS запроса на главный компьютер (1 arg) на порте (2 arg).

Значение, заданное по умолчанию:
wais_relay_port 0

TAG: request_header_max_size (KB)
Этот параметр определяет максимальный размер для HTTP заголовков в запросе. Заголовки запроса обычно относительно небольшие (около 512 байтов). Замена ограничения размера заголовка запроса приведет к определенным ошибкам (например, с постоянными подключениями) и возможно к переполнению буфера или отклонению атак.

Значение, заданное по умолчанию:
request_header_max_size 20 KB

TAG: request_body_max_size (KB)
Этот параметр определяет максимальный размер для HTTP запроса. Другими словами, максимальный размер PUT/POST запроса. Пользователь, который пытается отправить запрос больше, чем чем это ограничение, получит сообщение, содержащее ошибку «неверный запрос». Если вы установите запрос на ноль (по умолчанию), ограничение предлагаться не будет.

Значение, заданное по умолчанию:
request_body_max_size 0KB

TAG: refresh_pattern
применение: refresh_pattern [-i] regex min percent max [options]

По умолчанию заданы регулярно использующиеся выражения CASE-SENSITIVE.Чтобы сделать их такими, используйте –I опцию.

“Min” – время (в минутах) для объекта без выраженного истечения времени. Рекомендуемое значение – 0, любое большее значение может привести к динамическому применению, которое может быть кэшировано с ошибками до тех пор, пока конструктор прикладных программ не примет соответствующие меры.

“Percent” – процентное отношение возраста объекта (время с последнего возраста преобразований), объект без явно выраженного времени истечения будет считаться новым.

“Max” – верхняя граница, как долго объекты без ярко выраженного срока истечения будут считаться новыми.

Опции: override-expire
override-lastmod
reload-into-ims
ignore-reload

override-expire обязывает использовать минимальный возраст, даже если сервер отправляет Expires заголовок. Если это происходит, НАРУШАЮТСЯ требования HTTP стандарта. Разрешая данный параметр, вы несете ответственность за проблемы, которые он вызывает.

override-lastmod обязывает использовать минимальный возраст даже тех объектов, которые были недавно изменены.

reload-into-ims изменяет запросы клиента. Если это происходит, НАРУШАЮТСЯ требования HTTP стандарта. Разрешая данный параметр, вы несете ответственность за проблемы, которые он вызывает.

ignore-reload игнорирует заголовок. Если это происходит, НАРУШАЮТСЯ требования HTTP стандарта. Разрешая данный параметр, вы несете ответственность за проблемы, которые он вызывает.

В основном кэшированным объектом является:

FRESH, если срок истечения < сейчас, также STALE
STALE, если возраст > MAX
FRESH, если LM-фактор < процента, также STALE
FRESH, если возраст < min
Также STALE

refresh_pattern строки проверяются в порядке, указанном здесь. Используется первая соответствующая запись. Если нет соответствующих записей, используется значение, заданное по умолчанию.

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

Значения, которые предлагается задать:
refresh_pattern^ftp: 1440 20% 10080
refresh_pattern^gopher: 1440 0% 1440
refresh_pattern. 0 20% 4320

TAG: quick_abort_min (в килобайтах)
TAG: quick_abort_max (в килобайтах)
TAG: quick_abort_pct (в процентах)

Кэш, заданный по умолчанию, продолжает скачивание отброшенных запросов, которые почти завершены (осталось меньше 16 килобайтов). Это нежелательно использовать на медленных (например, SLIP) строках и/или очень занятых кэшах. Нетерпеливые пользователи могут объединить дескриптор файла и пропускную способность с помощью постоянных запросов и немедленного прекращения скачивания.

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

Если передача составляет меньше килобайт, чем “quick_abort_min”, она прервет поиск.

Если передача составляет больше килобайт, чем “quick_abort_pct”, она закончит поиск.

Если вы не хотите продолжать возобновление после прекращения работы клиента, установите “quick_abort_min” и “quick_abort_max” параметры на 0 килобайтов.

Если вы хотите продолжить возобновление после кэширования, установите “quick_abort_min” на -1 килобайт.

Значения, заданные по умолчанию:
quick_abort_min 16 KB
quick_abort_max 16 KB
quick_abort_pct 95

TAG: negative_ttl time-units
Время существования (TTL) для неполучившихся запросов. Определенные виды ошибок (таких как «в соединении отказано» и «404 не найден») отрицательно кэшированы для количества времени для конфигурации. Время, заданное по умолчанию: 5 минут. Обратите внимание, что это значение отличается от отрицательного кэширования DNS поисков.

Значение, заданное по умолчанию:
negative_ttl 5 minutes

TAG: positive_dns_ttl time-units
Верхняя граница времени, за которое Squid будет кэшировать положительные DNS ответы. Время, заданное по умолчанию: 6 часов (360 минут), Эта директива должна быть установлена на большее значение, чем negative_dns_ttl.

Значение, заданное по умолчанию:
positive_dns_ttl 6 hours

TAG: negative_dns_ttl time-units
Время существования (TTL) для отрицательного кэширования неудачных DNS поисков. Это приводит к установке нижней границы кэширования на положительных поисках. Минимальное значение – 1 секунда, и не рекомендуется использовать больше 10.

Значение, заданное по умолчанию:
negative_dns_ttl 1 minute

TAG: range_offset_limit (в байтах)
Устанавливает верхнюю границу насколько далеко в файле запрос может заставить Squid
Осуществить предварительную выборку всего файла. Если использовать значение ниже этой границы, Squid отправляет запрос как есть, но результат НЕ кэшируется.

Чтобы остановить далеко идущий запрос (например, начнем с 17 мегабайтов), чтобы Squid
Осуществлял выборку всего объекта перед тем, как отправить что-то клиенту.

Значение -1 означает, что Squid всегда осуществляет выборку объекта с начала, т.е. программа может кэшировать результат (2.0 стиль)

Значение 0 означает, что Squid никогда не выберет больше, чем запросил клиент. (по умолчанию)

Значение, заданное по умолчанию:
range_offset_limit 0 KB

ТАЙМАУТЫ

TAG: forward_timeout time-units
Этот параметр определяет, сколько времени Squid пытается найти путь для запроса.

Значение, заданное по умолчанию:
forward_timeout 4 minutes

TAG: connect_timeout time-units
Этот параметр определяет, сколько времени необходимо ждать, чтобы подключить TCP к запрашиваемому серверу или равноправному участнику, чтобы завершить процесс до того, как Squid попытается найти другой путь, по которому отправить запрос.

Значение, заданное по умолчанию:
connect_timeout 1 minute

TAG: peer_connect_timeout time-units
Этот параметр определяет, сколько времени необходимо для ожидания TCP подключения к кэшу равноправного участника. Время, заданное по умолчанию, 30 секунд. Вы также можете установить различное значение таймаута для индивидуальных соседних узлов с “connect-timeout” опцией на “cache_peer” строке.

Значение, заданное по умолчанию:
peer_connect_timeout 30 seconds

TAG: read_timeout time-units
read_timeout применяется на соединениях со стороны сервера. После каждой успешной прочитки (), время таймаута будет расширено до этого количества. Если за этот промежуток времени данные не будут прочитываться вновь, запрос преждевременно обрывается и регистрируется с ERR_READ_TIMEOUT. Время, заданное по умолчанию: 15 минут.

Значение, заданное по умолчанию:
read_timeout 15 minutes

TAG: request_timeout
Сколько времени необходимо для ожидания HTTP запроса после начального подключения.

Значение, заданное по умолчанию:
request_timeout 5 minutes

TAG: persistent_request_timeout
Сколько времени необходимо для ожидания следующего HTTP запроса при постоянном подключении после завершения каждого предыдущего запроса.

Значение, заданное по умолчанию:
persistent_request_timeout 1 minute

TAG: client_lifetime time-units
Максимальное количество времени, за которое клиенту (программе быстрого просмотра) разрешается оставить подключение к кэшу. Это защищает кэш от наличия многих двунаправленных каналов (и соответственно дескрипторов файла), объединенных в CLOSE_WAIT от удаленных клиентов, которые выходят, не завершив должным образом процесс (из-за проблем с сетью или из-за недостаточных разработок клиента). Значение, заданное по умолчанию: 1 день, 1440 минут.

ПРИМЕЧАНИЕ: Значение, заданное по умолчанию, должно быть намного больше, чем при подключении любого клиента к вашему кэшу. Вам следует изменить client_lifetime в качестве последнего ресурса. Если кажется, что у вас много подключений клиента, объединенных с дескрипторами файла, мы рекомендуем сначала настроить read_timeout, request_timeout, persistent_request_timeout и quick_abort значения.

Значение, заданное по умолчанию:
client_lifetime 1 day

TAG: half_closed_clients
Некоторые клиенты могут закрыть сторону отправки их TCP подключений, в то время как сторона получения открыта. Иногда Squid не сообщает разницу между наполовину закрытым и полностью закрытым TCP подключением. По умолчанию, наполовину закрытые соединения клиента остаются открытыми до тех пор, пока прочитывание(2) или запись(2) на двунаправленном канале возвращает ошибку. Переключите эту опцию на “off” и Squidнемедленно закроет подключение клиента, когда прочитывание (2) вернет “no more data to read” («нет больше данных для чтения»).

Значение, заданное по умолчанию:
half_closed_clients on

TAG: pconn_timeout
Таймаут для свободных постоянных подключений к серверам и другим модулям доступа.

Значение, заданное по умолчанию:
pconn_timeout 120 seconds

TAG: ident_timeout
Максимальное время для завершения IDENT поисков.

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

Значение, заданное по умолчанию:
ident_timeout 10 seconds

TAG: shutdown_lifetime time-units
Когда вы получили SIGTERM или SIGHUP, кэш находится в режиме до тех пор, пока не будут закрыты все активные двунаправленные каналы. Это значение – срок эксплуатации для установки всех открытых дескрипторов во время “shutdown pending” режима закрытия системы. После этого многие активные клиенты в течение нескольких секунд будут получать “timeout” сообщение.

Значение, заданное по умолчанию:
shutdown_lifetime 30 seconds

УПРАВЛЕНИЕ ДОСТУПОМ

TAG: acl
Определяет список доступа

acl aclname acltype string1…
acl aclname acltype “file”…

когда вы используете “file”, файл должен содержать одно наименование в строке.

Acltype – один из типов, описанных ниже.

По умолчанию, постоянные выражения являются CASE-SENSITIVE . Чтобы сделать их таковыми, используйте –I опцию.

acl aclname src ip-address/netmask …(IP адрес клиента)
acl aclname src addr1-addr2/netmask …(диапазон адресов)
acl aclname dst ip-address/netmask …(IP адрес URL главного компьютера)
acl aclname myip ip-address/netmask …(IP адрес местного двунаправленного канала)

acl aclname arp mac-address … (xx:xx:xx:xx:xx:xx)
arp ACL требует опцию специальной конфигурации –enable-arp-acl. Более того, arp ACL код не является портативным для всех операционных систем. Он работает только в Linux, Solaris, FreeBSD и некоторых *BSD вариантах.

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

acl aclname scrdomain .foo.com… обратный поиск, клиент IP
acl aclname dstdomain .foo.com сервер назначения из URL
acl aclname srcdom_regex [-i] xxx… regex соответствующее имя клиента
acl aclname dstdom_regex [-i] xxx… regex соответствующий сервер
Для dstdomain и dstdom_regex осуществляется обратный поиск, если IP, основанный на URL, используется, и невозможно найти соответствия. Если обратный поиск не осуществился, используется имя “none”.

acl aclname time [day-abbrevs] [h1:m1-h2:m2]
сокращения дней недели:
S - воскресенье
M - понедельник
T - вторник
W - среда
H - четверг
F - пятница
A - воскресенье
h1:m1 должен быть меньше, чем h2:m2
acl aclname url_regex [-i] ^http:// … regex соответствие на целом URL
acl aclname urlpath_regex [-i] \.gif$... regex соответствие на URL пути
acl aclname urllogin [-i] [^a-zA-Z0-9]… regex соответствие на URL поле логинов
acl aclname port 80 70 21
acl aclname port 0-1024 … допустимые диапазоны
acl aclname myport 3128 … (местный двунаправленный канал TCP порта)
acl aclname proto HTTP FTP …
acl aclname method … GET POST …
acl aclname browser [-i] regexp …
образец соответствует заголовку Пользователь – Агент (см. также req_header внизу)
acl aclname refere_regex [-i] regexp …
образец соответствует Referer заголовку
Referer – очень ненадежный, поэтому используйте его аккуратно.
acl aclname ident username …
acl aclname ident_regex [-i] pattern …
соответствие строки на ident выходе.
Используйте REQUIRED, чтобы принять любой ненулевой ident.
acl aclname src_as number …
acl aclname dst_as number …
Кроме управления доступом, AS номера могут использоваться для пересылки запросов в определенные кэши. Здесь приведен пример для передачи всех запросов для AS1241 и только те на mycache.mydomain.net:
acl asexample dst_as 1241
cache_peer_access mycache.mydomain,net allow asexample
cache_peer_access mycache_mydomain,net deny all

acl aclname proxy_auth username …
acl aclname proxy_auth_regex [-i] pattern …
список действительных имен пользователей
используйте REQUIRED для принятия любого действительного имени пользователя.

ПРИМЕЧАНИЕ: когда заголовок Модуль доступа – Аутентификация отправляется, но в нем нет необходимости во время ACL проверки, имя пользователя НЕ загружается в access.log

ПРИМЕЧАНИЕ: proxy_auth требует ВНЕШНЮЮ программу аутентификации для проверки комбинаций имя пользователя/пароль (смотрите auth_param директиву).

ПРЕДУПРЕЖДЕНИЕ: proxy_auth не может использоваться в прозрачном модуле доступа. Это противоречит любой аутентификации, осуществленной оригинальными серверами. На первый взгляд может показаться, что это сработает, но это неверно.

acl aclname snmp_community string …
Общая строка для ограничения доступа в ваш SNMP агент.

Пример:
acl snmppublic snmp_community public

acl aclname maxconn number
Этот параметр будет соответствовать в том случае, если IP адрес клиента будет иметь больше, чем <number> HTTP соединений.

acl aclname max_user_ip [-s] number
Этот параметр будет соответствовать тогда, когда пользо

Ответить