| Squid.conf (на русском) |
|---|
- Перевод подготовила команда проекта http://break-people.ru
- Оригинал перевода с разбивкой по секциям - ТУТ
На данной странице помещен перевод одним текстом
#
# Добро пожаловать в SQUID 2.6.STABLE21
#
# Этот файл представляет собой конфигурацию Squid по умолчанию. Возможно, вам
# захочется посмотреть FAQ или другую документацию. Всё это вы сможете найти на
# официальной странице http://www.squid-cache.org.
#
# Файл squid.conf показывает значения установленные по умолчанию для некоторых
# опций. Если вы не хотите изменить значение по умолчанию, вы не должны
# раскомментировать строку. В некоторых случаях слово «none», означает, то что у
# этой опции нет значения по умолчанию, в то время как в некоторых опциях это и
# есть значение этой опции. Поэтому внимательно читайте пояснение к той или иной
# опции.
# Секция: Аутентификация(Authentication)
# -----------------------------------------------------------------------------
#
# TAG: auth_param
#
# Этот тэг используется для определения параметров для различных схем аутентификации
# поддерживаемых Squid.
#
# format: auth_param scheme parameter [setting]
#
# Порядок в котором схемы аутентификации представляются клиенту, зависит от порядка
# расположения схем в конфигурационном файле. Первая по порядку схема, будет
# представлена первой. IE имеет баг, связанную с тем, что он использует basic схему
# авторизации, несмотря на то, что в списке есть более безопасные схемы. Рекомендуется
# использовать тот порядок схем, который установлен по умолчанию. Если другие браузеры
# имеют сложности(не «понимают» предлагаемые схемы), тогда установите basic схему
# аутентификации первой в списке, либо закомментируйте другие строки со схемами.
#
# Как только схема аутентификации полностью сконфигурирована, она вступит в силу только
# после перезагрузки Squid. Изменения могут быть сделаны «на лету», но активированы при
# перезагрузке.
#
# Запомните, установка параметров определяющих как Squid будет проводить
# аутентификацию, не ведет к автоматическому использванию их. Для того, чтобы
# использовать аутентификацию, вы должны добавить ACL основанный на логине(имя
# пользователя). ACL должен быть вида proxy_auth, proxy_auth_regex или external с
# использованием переменной %LOGIN. При запросе доступа через браузер, будет запрошена
# аутентификация пользователя. При правильных логине и пароле, пользователю откроется
# доступ, иначе нет.
#
# Важно: аутентификация не может использовать при прозрачном(transparent)
# проксировании, потому что клиент «думает», что работает с Интернет напрямую, а не
# через прокси. Это ограничение накладывает TCP/IP протокол, а не Squid.
#
#
# === Опции для basic схемы аутентификации ===
#
# "program" cmdline
#
# Определите программу используемую для внешней аутентификации. Эта программа
# должна считывать строку содержающую "username password" и отвечать "OK" или
# "ERR" в случае корректной или ошибочной аутентификации соответсвтенно.
#
# По умолчанию, basic схема не используется, если не указана программа аутентификации.
#
# Если вы хотите использовать традиционную прокси аутентификацию перейдите в
# helpers/basic_auth/NCSA каталог и введите:
#
# % make
# % make install
#
# Затем, введите в конфигурационный файл что-то вроде этого:
#
# auth_param basic program /usr/local/libexec/ncsa_auth /usr/local/etc/passwd
#
# "children" numberofchildren
#
# Число процессов программы аутентификации, которые могут быть запущены
# одновременно. Если их будет слишком мало, то каждый новый клиент желающий
# получить доступ, будет ожидать пока не появится свободный процесс для
# аутентификации пользователя. Это замедляет работу Squid. Если у вас медленная
# сеть, возможно вы захотите увеличить число этих процессов.
#
# auth_param basic children 5
#
# "concurrency" numberofconcurrentrequests
#
# Число одновременно возможных для использования запросов/каналов для
# аутентификации.
#
#
# "realm" realmstring
#
# Определяет строку, которая будет отправлена пользователю в окне авторизации. Как
# правило, эта строка представляет собой название прокси сервера, например,
# Corporate proxy server.
#
# auth_param basic realm Squid proxy-caching web server
#
# "credentialsttl" timetolive
#
# Определяет как долго Squid будет кэшировать пару username:password
# пользователей. По истечению этого времени, Squid вновь запросит аутентификацию
# пользователя. Установите это значение маленьким, чтобы проверка пользователя
# проходила чаще. Заметим, использование большого значения этой опции не влияет на
# восприимчивость сервера к атакам если вы используете систему одноразовых
# паролей(Например, SecureID). Но также, если вы используете такую систему, то это
# не означает вашу полную защищенность от атак. Вам также рекомендуется
# использовать ACL вида max_user_ip в правиле http_access.
#
# auth_param basic credentialsttl 2 hours
#
# "casesensitive" on|off
#
# Определяет, являются ли имена пользователей(username) чуствительными к регистру.
# Большинство баз данных регистронезависимы, и им нет разницы, прописные или
# строчные буквы используются, но некоторые, всё же, регистрозависимы. Это имеет
# большое значение для ACL вида max_user_ip.
#
# auth_param basic casesensitive off
#
# "blankpassword" on|off
#
# Определяет, поддерживаются ли пустые пароли. По умолчанию, это запрещено(off),
# так как аутентификация с пустым паролем предусмотрена только для
# гостевого("guest") входа.
#
# === Опции для digest схемы аутентификации ===
#
# "program" cmdline
#
# Определите программу используемую для внешней аутентификации. Такая программа
# считывает строку содержащую "username":"realm" и отвечает соответствующим H(A1)
# значением в шестнадцатеричной системе(hex код), если данные верны или "ERR" если
# пользователь (или его H(A1) хэш) не существует. См. в RFC 2616 как определяется
# H(A1).
#
# По умолчанию, digest схема не используется, если не указана программа аутентификации.
#
# Если вы хотите использовать digest аутентификацию перейдите в helpers/ digest_auth/
# каталог и выберите программу, которую хотите использовать. В каталоге выбранной
# программы введите:
#
# % make
# % make install
#
# Затем, введите в конфигурационный файл что-то вроде этого:
#
# auth_param digest program /usr/local/libexec/digest_auth_pw /usr/local/etc/digpass
#
# "children" numberofchildren
#
# Число процессов программы аутентификации, которые могут быть запущены
# одновременно. Если их будет слишком мало, то каждый новый клиент желающий
# получить доступ, будет ожидать пока не появится свободный процесс для
# аутентификации пользователя. Это замедляет работу Squid. Если у вас медленная
# сеть, возможно вы захотите увеличить число этих процессов.
#
# auth_param digest children 5
#
# "concurrency" numberofconcurrentrequests
#
# Число одновременно возможных для использования запросов/каналов для
# аутентификации.
#
# "realm" realmstring
#
# Определяет строку, которая будет отправлена пользователю в окне авторизации. Как
# правило, эта строка представляет собой название прокси сервера, например,
# Corporate proxy server.
#
# 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
#
# Определяет как будет регистрироваться корректная аутентификация клиента. Если
# "on", то счетчик Squid будет увеличиваться на 1(единица). Если "off", то будет
# использоваться число, которое отправит в ответ пользовательский агент(это может
# быть 1,2,4,6).
#
# auth_param digest nonce_strictness off
#
# "check_nonce_count" on|off
#
# Определяет, ведется ли подсчет количества попыток аутентификаций клиентом. По
# умолчанию выставлено значение "on" для защиты от атак связанных с подбором
# аутентификационных данных.
#
# auth_param digest check_nonce_count on
#
# "post_workaround" on|off
#
# Эта опция есть обходной путь для некоторых браузеров, которые некорректно
# работают с digest аутентификацией, посылая неправильные POST запросы.
#
# auth_param digest post_workaround off
#
# === Опции для NTLM схемы аутентификации ===
#
# "program" cmdline
#
# Определите программу используемую для внешней NTLM аутентификации. Такая
# программа, которая может обрабатывать передачу данных между клиентом и Squid
# сервером по протоколу NTLMSSP. Смотри helpers/ntlm_auth/ для подробной
# информации. Рекомендуемая программа NTLM аутентификации идет вместе с Samba-3.X,
# но существуют и другие средства NTLM аутентифиации.
#
# По умолчанию, NTLM схема не используется, если не указана программа
# аутентификации.
#
# Для использования NTLM аутентификации, вставьте в squid.conf, что-то вроде этого:
#
# auth_param ntlm program /path/to/samba/bin/ntlm_auth --helper -protocol=squid-2.5-ntlmssp
#
# "children" numberofchildren
#
# Число процессов программы аутентификации, которые могут быть запущены
# одновременно. Если их будет слишком мало, то каждый новый клиент желающий
# получить доступ, будет ожидать пока не появится свободный процесс для
# аутентификации пользователя. Это замедляет работу Squid. Если у вас медленная
# сеть, возможно вы захотите увеличить число этих процессов.
#
# auth_param ntlm children 5
#
# "keep_alive" on|off
#
# Эта опция включает использование постоянного соединения при инициализации
# запроса аутентификации. Есть сведения, что некоторые версии MS IE имеют проблемы
# с этим, но лучше будет если эта опция включена.
#
# auth_param ntlm keep_alive on
#
# === Negotiate scheme options follow ===
#
# "program" cmdline
#
# Определите программу используемую для внешней Negotiate аутентификации. Такая
# программа, которая может обрабатывать передачу данных между клиентом и Squid
# сервером по протоколу SPNEGO. Смотри helpers/ntlm_auth/ для подробной
# информации. Рекомендуемая программа Negotiate аутентификации идет вместе с
# Samba-4.X, это SPNEGO.
#
# По умолчанию, NTLM схема не используется, если не указана программа аутентификации.
#
# Для использования NTLM аутентификации, вставьте в squid.conf, что-то вроде этого:
#
# auth_param negotiate program /path/to/samba/bin/ntlm_auth --helper-protocol=gss-spnego
#
# "children" numberofchildren
#
# Число процессов программы аутентификации, которые могут быть запущены
# одновременно. Если их будет слишком мало, то каждый новый клиент желающий
# получить доступ, будет ожидать пока не появится свободный процесс для
# аутентификации пользователя. Это замедляет работу Squid. Если у вас медленная
# сеть, возможно вы захотите увеличить число этих процессов.
#
# auth_param negotiate children 5
#
# "keep_alive" on|off
#
# Если у вас возникают проблемы с запросами PUT/POST, когда вы используете
# Negotiate схему аутентификации, вы можете попробовать выключить эту опцию. Но
# это может привести, к тому, что Squid будет закрывать соединения, если браузер
# спрашивает, какие схемы аутентификации поддерживает прокси.
#
# auth_param negotiate keep_alive on
#
# Рекомендуемые параметры настройки для каждой из схем аутентификации:
#
#auth_param negotiate program <раскомментируйте и введите путь к программе для активации>
#auth_param negotiate children 5
#auth_param negotiate keep_alive on
#
#auth_param ntlm program <раскомментируйте и введите путь к программе для активации>
#auth_param ntlm children 5
#auth_param ntlm keep_alive on
#
#auth_param digest program <раскомментируйте и введите путь к программе для активации>
#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 basic program <раскомментируйте и введите путь к программе для активации>
#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
#
# Этот тэг определяет время, сколько будет хранится в кэше логин пользователя. Изменять
# этот тэг не рекомендуется, если у вас на это нет веских причин.
#
#По умолчанию:
# authenticate_cache_garbage_interval 1 hour
#
# TAG: authenticate_ttl
#
# Этот тэг определяет время, сколько пользователь будет оставаться аутентифицированным,
# со времени его последнего запроса. Как только пройдет это время, то все данные об
# аутентификации пользователя будут стерты из памяти.
#
# По умолчанию:
# authenticate_ttl 1 hour
#
# TAG: authenticate_ip_ttl
#
# Если вы используете прокси аутентификацию и ACL вида max_user_ip, этот тэг
# определяет, как долго Squid будет помнить IP адреса ассоциированые с вошедшим
# пользователем. Используйте маленькие числа(например, 60 секунд), если ваши
# пользователи сменяют IP адреса быстро, как например это происходит при dial up.
# Возможно, вы захотите использовать большое значение(например, 2 часа) в корпоративной
# LAN, в которой настроена статическая раздача IP адресов.
#
# По умолчанию:
# authenticate_ip_ttl 0 seconds
# Секция: Контроль доступа(ACCESS CONTROLS)
# -----------------------------------------------------------------------------
#
# TAG: external_acl_type
#
# Этот тэг позволяет определить внешние ACL. Внешние ACL это такие ACL, которые не
# входят в набор стандартных типов ACL. Например, это могут быть самописные(или откуда-
# нибудь взятые) скрипты(вспомогательные программы), которые используя переменные Squid
# осуществляют некоторое действие. Такие скрипты запускаются вместе со Squid отдельным
# процессом.
#
# external_acl_type name [options] FORMAT.. /path/to/helper [helper arguments..]
#
# Опции(Options):
#
# ttl=n
#
# TTL(Time-To-Live, время жизни) в секундах для хранения результатов
# отработки внешнего ACL.(По умолчанию установлено в 3600 т.е. 1 час).
#
# negative_ttl=n
#
# TTL в секундах для хранения отрицательных результатов отработки внешнего
# ACL. (По умолчанию, установлено значение такое же как ttl)
#
# children=n
#
# Количество процессов, которое может быть задействовано под внешние
# ACL(под скрипты, т.е.). (По умолчанию 5).
#
# concurrency=n
#
# Уровень параллельности для процесса. Используется, только со скриптами,
# которые умеют обрабатывать более одного запроса одновременно.
#
# Примечание: Читайте ниже о совместимости
#
# cache=n
#
# Размер кэша результатов. 0(цифра ноль) - неограничено (По умолчанию,
# неограничено)
#
# grace=
#
# Процент, от TTL. То есть это значение нужно устанавливать как процент от
# значения TTL. Но без знака процента. Например, grace=90. Эта опция
# означает количество времени, по истечению которого, произойдет обновление
# кэшированных записей. Это так называемое время отсрочки.(По умолчанию
# установлено 0, для отсутствия отсрочки)
#
# protocol=2.5
#
# Режим совместимости для внешних ACL со Squid-2.5
#
# Формат, т.е. переменные которые можно использовать в своей вспомогательной
# программе(FORMAT). Слева, название переменной, справа - то, что в ней находится.
#
# %LOGIN Логин аутентифицированного пользователя
# %EXT_USER Имя пользователя из внешнего acl
# %IDENT Ident имя пользователя
# %SRC IP-адрес клиента
# %SRCPORT Порт клиента
# %DST Запрошенный хост
# %PROTO Протокол по которому сделан запрос
# %PORT Запрошенный порт
# %METHOD Метод, которым осуществлен запрос
# %MYADDR IP адрес прокси сервера Squid
# %MYPORT Порт прокси сервера Squid
# %PATH URL путь(все символы после имени хоста) в запросе
# %USER_CERT SSL пользовательский сертификат в формате PEM
# %USER_CERTCHAIN SSL пользовательский сертификат сети в формате PEM
# %USER_CERT_xx Имя SSL пользовательского сертификата xx
# %USER_CA_xx Кем выдан SSL пользовательский сертификат xx
#
# %{Header} Полностью HTTP заголовок запроса
# %{Hdr:member} HTTP заголовок запроса содержащий list member
# %{Hdr:;member} HTTP заголовок запроса содержащий list member разделяя знаком ;
# элементы списка. Разделителем можт быть любой символ псевдографики.
#
# %ACL Имя ACL
# %DATA Аргументы ACL. Если не использовать эту переменную, то все
# аргументы автоматически добавляются в конец строки.
#
# В дополнение к вышесказанному - каждая строка определяющая ACL, должна быть включена
# в строку запроса вспомогательной программы(скрипта) (смотри директиву acl тип external).
#
# Скрипт получает строки с данными согласно формата(FORMAT) и возвращается строки
# содержащие OK или ERR, определящие пройдена аутентификация или нет соответственно.
# Опционально строка может содержать дополнительные ключевые слова(keywords).
#
# Синтаксис ответной строки скрипта:
#
# OK/ERR keyword=value ...
#
# Доступные ключевые слова(keywords):
#
# user= Пользовательские имена (логины также можно вводить)
# password= Пароли пользователей (для PROXYPASS login= cache_peer)
# message= Сообщение об ошибке. Оно запишется в переменную %o
# log= Строка которая будет записана в access.log. Доступна
# специкация %ea формата журналов.
#
# Если установлено protocol=3.0 (по умолчанию), тогда URL будет использоватся для
# передачи значений и для запросов и для ответов.
#
# Если установлено protocol=2.5, тогда все значения должны быть оформлены в кавычки,
# если они содержат пробелы. Кроме того, кавычки или знак \, которые находятся в
# содержимом ключевого слова, должны предварятся знаком \. То есть если имя пользователя
# joe "blade" smith, то запись такого имени в ключевом слове user должна выглядеть так -
# user = "joe \"blade\" smith".
#
# Примечание: Опция children= названа concurrency= в версии Squid-2.5.STABLE3 и более
# ранних. В Squid-3 опция concurrency= более не работает. Используйте children=.
#
#По умолчанию:
# none
#
# TAG: acl
#
# Этот тэг позволяет задавать ACL. Ниже представлены типы ACL и краткие описания к
# каждому из них(на что нацелены).
#
# acl aclname acltype string1 ...
# acl aclname acltype "file" ...
#
# Когда используется "file", то файл должен содержать не более одного правила на строку.
#
# acltype - тип ACL
#
# По умолчанию, регулярные выражения РЕГИСТРОЗАВИСИМЫ. Для того, чтобы сделать
# регулярное выражение регистронезависимым используйте опцию -i .
#
# acl aclname src ip-address/netmask ...
#
# Проверяет IP адрес клиента.
#
# acl aclname src addr1-addr2/netmask ...
#
# Проверяет диапазон IP адресов клиента.
#
# 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 MAC адрес.
#
# Примечание: Тип arp ACL доступен если Squid скомпилирован с опцией --enable-arp-acl
# Кроме того, ACL типа arp поддерживают не все операционные системы.
# Это работает на Linux, Solaris FreeBSD и некоторых других *BSD системах.
#
# Примечание: Squid может определить MAC адреса клиентов из одной подсети. Если же
# клиенты будут из разных подсетей, тогда Squid не сможет определить MAC
# адрес клиента.
#
# acl aclname srcdomain .foo.com ...
#
# Проверяет имя хоста клиента.
#
# acl aclname dstdomain .foo.com ...
#
# Проверяет имя хоста сервера назначения.
#
# acl aclname srcdom_regex [-i] xxx ...
#
# Регулярное выражение для хоста клиента
#
# acl aclname dstdom_regex [-i] xxx ...
#
# Регулярное выражение для сервера назначения
#
# Типы ACL dstdomain и dstdom_regex используют имена хостов. Если же URL адрес задан
# через IP(например, 195.33.72.33), то будет автоматически произведена замена его на имя
# хоста связанное с этим IP(например на yandex.ru), используя DNS. И к уже к найденному
# имени хоста будет применен ACL.
#
# 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] <nowiki>^http:// ...</nowiki>
#
# Регулярное выражение вбирающее в себя все URL адреса.
#
# acl aclname urlpath_regex [-i] \.gif$ ...
#
# Регулярное выражение проверяющее URL путь(все, что после имени хоста в URL)
#
# acl aclname urllogin [-i] [^a-zA-Z0-9] ...
#
# Регулярное выражение проверяющее поле URL login.
#
# 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 ...
#
# Проверяет заголовок User-Agent (смотри также req_header)
#
# acl aclname referer_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 ...
#
# # ======= осталось без перевода ================================
# # Except for access control, AS numbers can be used for
# # routing of requests to specific caches. Here's an
# # example for routing all requests for AS #1241 and only
# # those to 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 [-i] username ...
# acl aclname proxy_auth_regex [-i] pattern ...
#
# Список прокси пользователей.
#
# Примечание: Когда заголовок Proxy-Authentication(Прокси аутентификации) отправлен, но
# не используется в ACL, то такая запись вносится в access.log
#
# Примечание: proxy_auth требует программу внешней(External) аутентификации для
# проверки пары username/password(логин/пароль). Смотри директиву
# auth_param.
#
# Примечание: proxy_auth не работает при прозрачном проксировании. Браузер должен быть
# настроен на использование прокси, чтобы аутентификация работала.
#
# acl aclname snmp_community string ...
#
# Строка для ограничения доступа SNMP community
#
# Пример:
#
# acl snmppublic snmp_community public
#
# acl aclname maxconn number
#
# Этот ACL проверяет количество HTTP сессий клиента. И не дает открыть
# ему больше чем <number> подключений
#
# acl aclname max_user_ip [-s] number
#
# Этот ACL проверяет количество различных IP адресов, с которого пользователь может
# пройти аутентификацию одновременно. Директива authenticate_ip_ttl определяет время
# действия аутентификации пользователя с конкретного IP адреса. По истечению этого
# времени, пользователь с этого IP должен будет пройти аутентификацию вновь.
# Аргумент -s означает, что при достижении числа number, будет невозможно
# подключится с любого другого IP адреса, пока ttl текущей аутентификации какого-
# либо IP адреса не истечет.
#
# Примечание: в режиме acceleration или при использовании нескольких child прокси,
# клиенты могут приходить с множества IP адресов если они идут через 2-3
# прокси сервера, тогда ограничение в 1 IP адрес на клиента, может вызвать
# проблемы.
#
# acl aclname req_mime_type mime-type1 ...
#
# Регулярное выражение проверяющее mime тип клиентского запроса. Может быть
# использовано для определения отправки файлов или HTTP туннелирования.
#
# Примечание: Этот ACL не проверяет ответ от сервера на запрос клиента.
#
# acl aclname req_header header-name [-i] any\.regex\.here
#
# Регулярное выражение проверяющее заголовки запросов. Например, может
# использоватся для блокирования доступа некоторых браузеров.
#
# acl aclname rep_mime_type mime-type1 ...
#
# Регулярное выражение проверяющее mime тип ответа от сервера. Может быть
# использовано для определения скачивания файла или HTTP туннелирования.
#
# Примечание: Этот ACL не действует в правилах для http_access. Этот ACL имеет эффект в
# правилах, которые работают с ответами от сервера, такими как
# http_reply_access.
#
# acl aclname rep_header header-name [-i] any\.regex\.here
#
# Регулярное выражение проверяющее заголовки ответов от сервера.
#
# Пример:
#
# acl many_spaces rep_header Content-Disposition -i [[:space:]]{3,}
#
# acl acl_name external class_name [arguments...]
#
# Внешние ACL используемые вспомогательными программами(скриптами) должны быть
# перед использованием описаны директивой external_acl_type.
#
# acl urlgroup group1 ...
#
# Проверяет urlgroup используемую редиректорами
#
# acl aclname user_cert attribute values...
#
# Проверяет атрибуты в пользовательском сертификате SSL. Атрибутом может быть один
# из DN/C/O/CN/L/ST
#
# acl aclname ca_cert attribute values...
#
# Проверяет атрибуты выдавшего SSL сертификат. Атрибутом может быть один
# из DN/C/O/CN/L/ST
#
# acl aclname ext_user username ...
# acl aclname ext_user_regex [-i] pattern ...
#
# Проверяет имя пользователя, которое вернул внешний ACL скрипт.
# Используйте REQUIRED, для принятия любого не пустого имени
# пользователя.
#
#Примеры:
#
#acl macaddress arp 09:00:2b:23:45:67
#acl myexample dst_as 1241
#acl password proxy_auth REQUIRED
#acl fileupload req_mime_type -i ^multipart/form-data$
#acl javascript rep_mime_type -i ^application/x-javascript$
#
#Рекомендуемый минимум:
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
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
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
#
# TAG: http_access
#
# Этот тэг разрешает или запрещает доступ основываясь на имеющихся ACL
#
# Использование:
#
# http_access allow|deny [!]aclname ...
#
# Примечание: Если не указано allow или deny, то по умолчанию будет принято deny.
#
# Последний в списке http_access является действием по умолчанию. Т.е. если не
# сработало ни одно прокси ограничение из всего списка, то будет применено, то, что
# установлено по умолчанию. Допустим последней строкой стоит «deny all», то это
# означает, что если клиент не подходит ни под один из разрешающих ACL, то доступ ему
# будет закрыт. И наоборот. Допустим последней строкой стоит «allow all», тогда если
# клиент не подпадает ни под один запрещающий ACL, то доступ ему будет открыт. Исходя
# из этих соображений, имеет смысл установить последней строкой ограничение «deny all»
# или «allow all».
#
#По умолчанию:
# http_access deny all
#
#Рекомендуемый минимум:
#
# Доступ только с localhost к cachemgr
# Запрет доступа запросов к неизвестным портам(unknown ports)
# Запрет метода CONNECT к другим потрам кроме SSL портов
#
# Настоятельно рекомендуется, чтобы к сервисам localhost имели только локальные
# пользователи и локальные программы. Из этих соображений следует запретить
# доступ к localhost службам и сервисам
#
#http_access deny to_localhost
#
# ВСТАВЛЯЙТЕ СЮДА СВОИ СОБСТВЕННЫЕ ПРАВИЛА
#
# Пример правила разрешающего доступ из вашей локальной сети. Вы можете адаптировать
# под себя это правило, введя свои IP адреса, с которых будет предоставлятся доступ в сеть:
#
#acl our_networks src 192.168.1.0/24 192.168.2.0/24
#http_access allow our_networks
#
# И закрыть весь остальной доступ к прокси серверу.
#
# TAG: http_access2
#
# Этот тэг разрешает или запрещает доступ на основе ACL.
#
# Схож с http_access, но запускается после редиректоров. Если не
# используется, значит действует только http_access.
#
#По умолчанию:
# none
#
# TAG: http_reply_access
#
# Этот тэг разрешает или запрещает ответы на запросы клиентов основываясь на
# ACL. Он является дополнением к тэгу http_access.
#
# http_reply_access allow|deny [!] aclname ...
#
# Примечание: Если не указан ни один ACL, то по умолчанию, разрешен доступ
# всем ответам от серверов.
#
# Хорошей идеей будет установить правила allow all или deny all последними в списке
# правил. Потому что, именно последнее правило в списке используется как правило по
# умолчанию.
#
#По умолчанию:
# http_reply_access allow all
#
# TAG: icp_access
#
# Этот тэг разрешает или запрещеает доступ по ICP порту основываясь на ACL
#
# icp_access allow|deny [!]aclname ...
#
# Смотри http_access для подробностей
#
#По умолчанию:
# icp_access deny all
#
# Разрешает ICP запросы отовсюду:
#
icp_access allow all
#
# TAG: htcp_access
#
# Примечание: Этот тэг доступен если Squid скомпилирован с опцией --enable-htcp
#
# Этот тэг разрешает или запрещает достпу по HTCP порту основываясь на ACL.
#
# htcp_access allow|deny [!]aclname ...
#
# Смотри http_access для подробностей
#
# Примечание: По умолчанию, запрещен весь траффик по HTCP порту. Это может
# быть причиной проблем с пользователями использующих htcp или htcp-oldsquid
# опции
#
# Разрешает HTCP запросы отовсюду
#
#htcp_access allow all
#
#По умолчанию:
# htcp_access deny all
#
# TAG: htcp_clr_access
#
# Примечание: Этот тэг доступен если Squid скомпилирован с опцией --enable-htcp
#
# Этот тэг разрешает или запрещает доступ к функции очистки содержимого
# используя HTCP основываясь на ACL.
#
# htcp_clr_access allow|deny [!]aclname ...
#
# Смотри http_access для подробностей
#
# Разрешает запросы HTCP CLR от доверенных пользователей
#
#acl htcp_clr_peer src 172.16.1.2
#htcp_clr_access allow htcp_clr_peer
#
#По умолчанию:
# htcp_clr_access deny all
#
# TAG: miss_access
#
# Этот тэг позволяет определить, какие из ваших клиентов могут получать TCP_MISS
# при обращении к вашему кэшу. TCP_MISS будет отправлятся им всякий раз, когда
# объект не найден в кэше.
#
# Например:
#
# acl localclients src 172.16.0.0/16
# miss_access allow localclients
# miss_access deny !localclients
#
# Эти строки означают, что ваши локальные клиенты могут получать MISSES(т.е.
# ответы означающие, что объект не найден в кэше), а все остальные клиенты
# будут получать только HITS(Т.е. что объект в кэше найден. А если объект не
# найден в кэше, то не будут получать ничего).
#
# По умолчанию все клиенты, которые проходят по http_access правилам, могут получать
# MISSES от нашего прокси сервера.
#
#По умолчанию:
# miss_access allow all
#
# TAG: ident_lookup_access
#
# Этот тэг разрешает или запрещает доступ RFC931 пользователям основываясь
# на ACL.
#
# Пример:
#
# acl ident_aware_hosts src 198.168.1.0/255.255.255.0
# ident_lookup_access allow ident_aware_hosts
# ident_lookup_access deny all
#
# Только src тип ACL полностью поддерживается при работе с этим тэгом. Тип
# src_domain ACL может иногда работать неправильно.
#
#По умолчанию:
# ident_lookup_access deny all
#
# TAG: reply_body_max_size bytes allow|deny acl acl...
#
# Этот тэг определяет максимальный размер тела ответа в байтах. Это может быть
# использовано для запрета скачивания больших файлов, таких как MP3 и фильмов. Когда
# заголовки ответа получены, происходит проверка размера тела ответа. Смотрится
# значение content-length(размер содержимого). Если размер содержимого больше
# разрешенного размера, то запрос блокируется и пользователь получает сообщение об
# ошибке - The request or reply is too large(Запрос или ответ слишком большой). Если в
# ответе не указан content-length и размер ответа лимитирован, то клиент получит часть
# ответа, соответствующую по размеру, установленному ограничению.
#
# ВНИМАНИЕ: если у вас выстроена иерархия кэшей, то могут возникнуть проблемы. Если не
# указано в заголовке content-length, то в кэш попадет часть ответа.
# Следовательно, если соседний прокси сделает запрос к вашему прокси на
# предмет некоего запроса, который был кэширован вашим прокси частично, то
# соседний прокси ответит клиенту тем, что взял у вас из кэша. Т.е. выдаст
# результат частично.
#
# Если установлено значение в 0(по умолчанию), то максимальный размер тела ответа
# неограничен.
#
# Примечание break-people.ru: Можно попробовать использовать этот тэг для
# ограничения максимального размера тела запроса
# для определенных IP адресов или группы IP
# адресов используя ACL.
#
#По умолчанию:
# reply_body_max_size 0 allow all
# Секция: X-Forwarded-For
# -----------------------------------------------------------------------------
#
# TAG: follow_x_forwarded_for
#
# Примечание: Этот тэг доступен только, если Squid скомилирован с опцией
# -DFOLLOW_X_FORWARDED_FOR option
#
# Этот тэг разрешает или запрещает заголовки X-Forwarded-For в исходном запросе.
#
# Запросы могут пройти цепочку прокси серверов, прежде чем дойдут до нашего. Заголовок
# X-Forwarded-For содержит список IP адресов серверов этой цепи, разделенных точкой с
# запятой.
#
# Если запрос пришел к нам, с некоторого хоста, мы будем смотреть заголовок
# X-Forwarded-For, чтобы узнать с какого хоста пришел запрос. Если заголовок
# X-Forwarded-For содержит несколько IP адресов и опция acl_uses_indirect_client
# включена, мы будем идти по этому списку снизу вверх до тех пор, пока не дойдем до
# адреса на котором запрещен заголовок X-Forwarded-For, либо до первого адреса в
# списке(в этом случае, первым в списке будет адрес с которого был отправлен запрос).
# Если опция acl_uses_indirect_client выключена, то пройти по списку IP адресов
# заголовка, можно не более чем на один уровень.
#
# Конечным результатом, будет IP адрес, который косвенно может считатся адресом
# клиента. Этот адрес может рассматриватся как Client Address(Адрес клиента) при
# использовании ACL, Delay pools и ведении журнала, на основе опций
# acl_uses_indirect_client, delay_pool_uses_indirect_client, log_uses_indirect_client.
#
# СООБРАЖЕНИЯ БЕЗОПАСНОСТИ:
#
# Любой хост может записать некорректную информацию в заголовок X-Forwarded-For и
# Squid воспользуется этой ложной информацией при определении источника запроса. Это
# может привести к неправильной работе прокси ограничений на основе Client
# Source(Адрес клиента, Client Address) ACL.
#
# Например:
#
# acl localhost src 127.0.0.1
# acl my_other_proxy srcdomain .proxy.example.com
# follow_x_forwarded_for allow localhost
# follow_x_forwarded_for allow my_other_proxy
#
#По умолчанию:
# follow_x_forwarded_for deny all
#
# TAG: acl_uses_indirect_client on|off
#
# Примечание: Этот тэг доступен только, если Squid скомилирован с опцией
# -DFOLLOW_X_FORWARDED_FOR
#
# Этот тэг определяет, может ли использоватся косвенный адрес клиента как настоящий
# адрес клиента в ACL.
#
#По умолчанию:
# acl_uses_indirect_client on
#
# TAG: delay_pool_uses_indirect_client on|off
#
# Примечание: Этот тэг доступен только, если Squid скомилирован с опцией
# -DFOLLOW_X_FORWARDED_FOR
#
# Этот тэг определяет, может ли использоватся косвенный адрес клиента как настоящий
# адрес клиента в delay pools.
#
# По умолчанию:
# delay_pool_uses_indirect_client on
#
# TAG: log_uses_indirect_client on|off
#
# Примечание: Этот тэг доступен только, если Squid скомилирован с опцией
# -DFOLLOW_X_FORWARDED_FOR option
#
# Этот тэг определяет, может ли использоватся косвенный адрес клиента как настоящий
# адрес клиента при ведении журнала доступа access.log.
#
# По умолчанию:
# log_uses_indirect_client on
#
# Секция: NETWORK
# -----------------------------------------------------------------------------
#
# TAG: http_port
#
# Применение: port [options]
# hostname:port [options]
# 1.2.3.4:port [options]
#
# Этот тэг устанавливает порт на котором, Squid будет слушать HTTP запросы клиента. Вы
# можете указать несколько портов, адресов + портов. Три варианта ввода данных, для
# этого тэга: только порт, hostname с портом и IP адрес с портом. Если вы определите
# hostname или IP адрес, то Squid будет слушать порт на этом hostname или адресе. Это
# заменяет старую опцию 'tcp_incoming_address'. В большинстве случаев, вам нет
# необходимости указывать адрес, достатчно указать только порт.
#
# Если Squid запущен в режиме accelerator, то возможно вы захотите настроить Squid
# слушать также 80 порт.
#
# Вы можете настроить Squid на прослушивание нескольких адресов/портов и адресов,
# распологая все их по одному на строку.
#
# Опции:
#
# transparent
#
# Поддержка прозрачного проксирования.
#
# tproxy
#
# Поддержка Linux TPROXY для подмены исходящих соединений используя клиентский
# IP адрес.
#
# accel
#
# Режим Accelerator. Требуется хотя бы один vhost/vport/defaultsite. Этот режим
# позволяет Squid слушать 80 порт, при том, что на нем уже висит сервер Apache.
# При этом, получается - используя Squid можно заходить на внутренние ресурсы
# локальной сети, не выходя в Интернет, т.е. не через внешку заходить к себе
# же. Для этого и нужно указать хоть один виртуальный сервер по умолчанию.
#
# defaultsite=domainname
#
# Сайт по умолчанию для accelerator. Используется для accel.
#
# vhost
#
# Хост(IP адрес) виртуального сервера. Используется для accel.
#
# vport
#
# Порт виртуального сервера. Используется для accel.
#
# vport=NN
#
# Порт виртуального сервера. Только если этот порт отличен от того, что внесен
# в http_port. Используется для accel.
#
# urlgroup=
#
# Urlgroup по умолчанию, для маркировки запросов. Смотри также acl urlgroup и
# url_rewrite_program.
#
# protocol=
#
# Протокол используемый Accelerator. По умолчанию - http.
#
# no-connection-auth
#
# Оставливает форвардинг Microsoft подключения, использующие
# аутентификацию(NTLM, Negotiate и Kerberos)
#
# Если у вас сервер с двумя сетевыми интерфейсами, мы рекомендуем указать через
# http_port, внутренний интерейс(IP адрес:порт). Это сделает видимым Squid только для
# внутренних адресов.
#
# Squid обычно слушает порт 3128
http_port 3128
#
# TAG: https_port
#
# Примечание: Этот тэг доступен только если Squid скомпилирован с опцией --enable-ssl #
# Применение: [ip:]port cert=certificate.pem [key=key.pem] [options...]
#
# Этот тэг позволяет задать адрес и порт на котором Squid будет слушать запросы
# клиентов по HTTPS.
#
# Это полезно только в ситуациях, когда Squid запущен в режиме Accelerator и
# вы хотите, чтобы и SSL работал через Accelerator.
#
# Вы можете указать несколько портов/адресов и портов, по одному на строку.
# Каждая строка содержала бы порт или пару - адрес:порт, свой собственный
# SSL сертификат и/или опции..
#
# Опции:
#
# defaultsite=domainname
#
# Сайт по умолчанию для accelerator. Используется для accel.
#
# vhost
#
# Хост(IP адрес) виртуального сервера. Используется для accel.
#
# urlgroup=
#
# Urlgroup по умолчанию, для маркировки запросов. Смотри также acl urlgroup и
# url_rewrite_program.
#
# protocol=
#
# Протокол используемый Accelerator. По умолчанию - https.
#
# cert=
#
# Путь к SSL сертификату (PEM формат).
#
# key=
#
# Путь к SSL файлу частного ключа (PEM формат). Если нет отдельного файла
# ключа, тогда файл сертификата должен иметь и то и другое в себе.
#
# version=
#
# Поддерживаемые опции SSL/TLS
#
# 1 automatic (по умолчанию) Автоматически
# 2 SSLv2 only Только SSLv2
# 3 SSLv3 only Только SSLv3
# 4 TLSv1 only Только TLSv1
#
# cipher=
#
# Список поддерживаемых шифров, разделенных двоеточием.
#
# options=
#
# Различные SSL опции. Самые важные из них:
#
# NO_SSLv2 Запрещает использовать SSLv2
# NO_SSLv3 Запрещает использовать SSLv3
# NO_TLSv1 Запрещает использовать TLSv1
# SINGLE_DH_USE Всегда создает новый ключ, если использует
# временный DH ключ. Смотри src/ssl_support.c
# или OpenSSL SSL_CTX_set_options документацию.
# Там есть полный список SSL опций.
#
# clientca=
#
# Файл содержащий список используемых CA, когда клиент запрашивает сертификат.
#
# cafile=
#
# Файл содержащий дополнительные CA сертификаты для верификации клиента. Если
# пусто, то используется clientca.
#
# capath=
#
# Каталог содержащие дополнительные CA сертификаты и списки CRL используемые
# для верификации клиента.
#
# crlfile=
#
# Файл дополнительных списков CRL используемых для верификации клиента.
# Требует установки флага VERIFY_CRL.
#
# dhparams=
#
# Файл содержащий DH параметры для временных DH ключей.
#
# sslflags=
#
# Различные флаги SSL:
#
# DELAYED_AUTH
#
# Не запрашивает клиентский сертификат немедленно, а ждет,
# пока ACL запросит его.
#
# NO_DEFAULT_CA
#
# Не использовать списки CA по умолчанию, встроенные в OpenSSL.
#
# NO_SESSION_REUSE
#
# Запрещает переиспользование сессии. Каждое подключение
# открывает новую SSL сессию.
#
# VERIFY_CRL
#
# Проверять CRL списки когда приняты клиентские сертификаты.
#
# VERIFY_CRL_ALL
#
# Проверять CRL списки для всех сертификатов в цепочке
# клиентского сертификата.
#
# sslcontext=
#
# ID контекстный идентификатор SSL.
#
# vport
#
# Порт виртуального сервера. Используется для accel.
#
# vport=NN
#
# Порт виртуального сервера. Только если этот порт отличен
# от того, что внесен в https_port. Используется для accel.
#
#По умолчанию:
# none
#
# TAG: tcp_outgoing_tos
#
# Этот тэг позволяет вам выбрать значение TOS/Diffserv для маркировки
# исходящих соединений, открытых на основе username(имя пользователя) или IP
# адреса.
#
# tcp_outgoing_tos ds-field [!]aclname ...
#
# Пример, где normal_service_net используют TOS значение 0x00
# и good_service_net используют 0x20
#
# acl normal_service_net src 10.0.0.0/255.255.255.0
# acl good_service_net src 10.0.1.0/255.255.255.0
# tcp_outgoing_tos 0x00 normal_service_net
# tcp_outgoing_tos 0x20 good_service_net
#
# TOS/DSCP значения, являются локальной подписью - поэтому вы должны знать,
# что вы делаете. Для более подробной информации смотри RFC2474 и RFC3260
#
# TOS/DSCP устанавливается в байтах.Поэтому это должно быть число из
# диапазона 0-255 или введите значение "default", чтобы использовать
# значения по умолчанию. На практике используются значения в диапазоне 0-63.
# Для более подробной информации смотри RFC3168.
#
# Примечание: Использование этого тэга с применением ACL невозможно, если
# сервер использует persistent(нет нормального, понятного,
# русского аналога) соединения. Для того, чтобы быть увереным в
# правильной работе этого тэга, вам следует установить значение
# тэга server_persistent_connections в off.
#
#По умолчанию:
# none
#
# TAG: tcp_outgoing_address
#
# Этот тэг позволяет вам настроить форвардинг запросов на различные IP
# адреса(через различные сетевые интерфейсы), используя ACL.
#
# tcp_outgoing_address ipaddr [[!]aclname] ...
#
# Пример, где запросы от 10.0.0.0/24 будут отправлены через интерфейс 10.1.0.1 ;
# Запросы от 10.0.1.0/24 и 10.0.2.0/24 будут отправлены с интерфейса 10.1.0.2 ;
# А остальные запросы пойдут с 10.1.0.3 .
#
# acl normal_service_net src 10.0.0.0/24
# acl good_service_net src 10.0.1.0/24 10.0.2.0/24
# tcp_outgoing_address 10.1.0.1 normal_service_net
# tcp_outgoing_address 10.1.0.2 good_service_net
# tcp_outgoing_address 10.1.0.3
#
# Примечание: Использование этого тэга с применением ACL невозможно, если
# сервер использует persistent(нет нормального, понятного,
# русского аналога) соединения. Для того, чтобы быть увереным в
# правильной работе этого тэга, вам следует установить значение
# тэга server_persistent_connections в off.
#
#По умолчанию:
# none
#
# Секция: SSL
#
# -----------------------------------------------------------------------------
#
# TAG: ssl_unclean_shutdown
#
# Примечание: Этот тэг доступен только если Squid скомпилирован с опцией --enable-ssl
#
# Этот тэг позволяет разрешить или запретить некорректное завершение SSL сессий.
# Некоторые браузеры(особенно MSIE) имеют проблемы с завершением сессий SSL
#
#По умолчанию:
# ssl_unclean_shutdown off
#
# TAG: ssl_engine
#
# Примечание: Этот тэг доступен только если Squid скомпилирован с опцией --enable-ssl
#
# Этот тэг позволяет выбрать SSL движок для использования. Например, OpenSSL.
#
#По умолчанию:
# none
#
# TAG: sslproxy_client_certificate
#
# Примечание: Этот тэг доступен только если Squid скомпилирован с опцией --enable-ssl
#
# Этот тэг позволяет задать SSL сертификат клиента используемый при
# проксировании https:// URL
#
#По умолчанию:
# none
#
# TAG: sslproxy_client_key
#
# Примечание: Этот тэг доступен только если Squid скомпилирован с опцией --enable-ssl
#
# Этот тэг позволяет задать SSL ключ клиента используемый при проксировании
# https:// URL
#
#По умолчанию:
# none
#
# TAG: sslproxy_version
#
# Примечание: Этот тэг доступен только если Squid скомпилирован с опцией --enable-ssl
#
# Этот тэг позволяет задать версию SSL используемую при проксировании
# https:// URL
#
#По умолчанию:
# sslproxy_version 1
#
# TAG: sslproxy_options
#
# Примечание: Этот тэг доступен только если Squid скомпилирован с опцией --enable-ssl
#
# Этот тэг позволяет задавать опции для SSL движка при проксировании https:// URL
#
#По умолчанию:
# none
#
# TAG: sslproxy_cipher
#
# Примечание: Этот тэг доступен только если Squid скомпилирован с опцией --enable-ssl
#
# Этот тэг позволяет задать список SSL шифров при проксировании https:// URL
#
#По умолчанию:
# none
#
# TAG: sslproxy_cafile
#
# Примечание: Этот тэг доступен только если Squid скомпилирован с опцией --enable-ssl
#
# Файл содержащий CA сертификаты для проверки сертификатов сервера при проксировании
# https:// URL
#
#По умолчанию:
# none
#
# TAG: sslproxy_capath
#
# Примечание: Этот тэг доступен только если Squid скомпилирован с опцией --enable-ssl
#
# Каталог содержащий CA сертификаты используемые для проверки сертификатов
# серверов при проксировании https:// URL
#
#По умолчанию:
# none
#
# TAG: sslproxy_flags
#
# Примечание: Этот тэг доступен только если Squid скомпилирован с опцией --enable-ssl
#
# Этот тэг позволяет установить различные флаги использования SSL при
# проксировании https:// URL:
#
# DONT_VERIFY_PEER Принимать сертификаты даже, если они не прошли проверку.
#
# NO_DEFAULT_CA Не использовать список CA OpenSSL, по умолчанию.
#
#По умолчанию:
# none
#
# TAG: sslpassword_program
#
# Примечание: Этот тэг доступен только если Squid скомпилирован с опцией --enable-ssl
#
# Этот тэг позволяет определить программу которая будет использоватся для ввода SSL
# ключа в шифрованном виде. Если не выбрана такая программа, то ключи будут
# передаваться в незашифрованном виде.
#
#По умолчанию:
# none
#
# Секция: Другие прокси(NEIGHBOR SELECTION ALGORITHM)
# -----------------------------------------------------------------------------
#
# TAG: cache_peer
#
# Этот тэг позволяет определить другие кэши. Формат записи тэга:
#
# cache_peer hostname type http-port icp-port [options]
#
# Например,
#
# прокси icp
# имя хоста тип порт порт опции
# -------------------- -------- ----- ----- -----------
# cache_peer parent.foo.net parent 3128 3130 proxy-only default
# cache_peer sib1.foo.net sibling 3128 3130 proxy-only
# cache_peer sib2.foo.net sibling 3128 3130 proxy-only
#
# тип: один из 'parent', 'sibling', или 'multicast'.
#
# proxy-port: номер порта на котором прокси будет слушать запросы клиентов.
#
# icp-port: номер порта на котором прокси будет слушать ICP запросы от других прокси.
#
# Опции: proxy-only #подробное описание опций смотри ниже
# weight=n
# ttl=n
# no-query
# default
# round-robin
# carp
# multicast-responder
# closest-only
# no-digest
# no-netdb-exchange
# no-delay
# login=user:password | PASS | *:password
# connect-timeout=nn
# digest-url=url
# allow-miss
# max-conn=n
# htcp
# htcp-oldsquid
# originserver
# userhash
# sourcehash
# name=xxx
# monitorurl=url
# monitorsize=sizespec
# monitorinterval=seconds
# monitortimeout=seconds
# forceddomain=name
# ssl
# sslcert=/path/to/ssl/certificate
# sslkey=/path/to/ssl/key
# sslversion=1|2|3|4
# sslcipher=...
# ssloptions=...
# front-end-https[=on|auto]
# connection-auth[=on|off|auto]
#
# 'proxy-only'
#
# определяет, что объекты, которые берутся из этого кэша, не будут сохранятся
# локально.
#
# 'weight=n'
#
# позволяет установить приоритет использования прокси при прочих равных
# условиях(например, при использовании sibling(равных) прокси). Не имеет
# эффекта при отношениях parent-sibling. Опция может принимать любое число
# начиная с 1. По умолчанию, ставится 1.
#
# 'ttl=n'
#
# позволяет определить TTL(Time-To-Live) в ICP пакетах при использовании
# multicast. Полезно только в случае рассылки запросов к к группе multicast.
# Поскольку, мы не принимаем ICP ответы от случайных хостов, вы должны
# настроить остальные прокси группы (multicast группы) используя опцию
# 'multicast-responder'.
#
# 'no-query'
#
# используется для запрета отправки ICP запросов к этому соседскому прокси.
# Только принимать их.
#
# 'default'
#
# использовать этот прокси по умолчанию.
#
# 'round-robin'
#
# для определения множества родительских кэшей, которые будут использоватся по
# очереди.
#
# 'carp'
#
# для определения множества родительских кэшей, которые будут использваться в
# массиве CARP. CARP представляет собой механизм для распределения нагрузки
# между родительскими прокси согласно их приоритету(weight).
#
# 'multicast-responder'
#
# определяет принадлежность этого прокси к группе multicast.
#
# 'closest-only'
#
# определяет, что при ответах ICP_OP_MISS, мы будем отправлять ответ
# CLOSEST_PARENT_MISS и никогда FIRST_PARENT_MISS.
#
# 'no-digest'
#
# определяет, что от этого прокси не запрашивать cache digest.
#
# 'no-netdb-exchange'
#
# отключает запросы к ICMP RTT базе данных (NetDB) от соседского прокси.
#
# 'no-delay'
#
# используется для запрета доступа к этому соседскому прокси при перезагрузке
# delay pools.
#
# 'login=user:password'
#
# используется если ваш родительский прокси требует аутентификации.
#
# Примечание: Строка может содержать URL символы-исключения. (например, %20
# для обозначения пробела) Этот также значит, что для использования знака %
# нужно писать %%.
#
# 'login=PASS'
#
# используется если пользователи должны пройти аутентификацию.
#
# Примечание: Для комбинирования этой опции с локальной аутентификацией,
# необходимо использовать Basic схему и оба сервера должны иметь одинаковую
# базу данных пользователей. Такой подход позволяет авторизоваться один раз,
# вместо двух(один раз на прокси, второй раз на самом сервере). Используйте с
# осторожностью.
#
# 'login=*:password'
#
# используйте для аутентификации пользователей с разными именами, но одним и
# тем же паролем. Это может быть необходимо для организации доступа
# пользователям из другого домена. При этом необходимо идентифицировать
# пользователей. Значок *(звездочка) может использоваться дополнительно.
# Например, для добавления некоторой информации, которая будет добавлятся к
# username.
#
# 'connect-timeout=nn'
#
# используется для определения таймаута соединения(также смотри
# peer_connect_timeout).
#
# 'digest-url=url'
#
# сообщает Squid взять cache_digest(если digest включен) для этого хоста, с
# некоторого URL, вместо его обычного расположения.
#
# 'allow-miss'
#
# сообщает Squid, принимать TCP_MISS(отсутсвие в кэше) от sibling(равных,
# братских) кэшей.
#
# 'max-conn=n'
#
# используется для ограничения количества подключений Squid которые могут быть
# открыты к этому кэшу.
#
# 'htcp'
#
# определяет использование HTCP вместо ICP запросов к соседскому кэшу. Тогда
# вы должны разрешить Squid использование htcp_access.
#
# 'htcp-oldsquid'
#
# определяет использование HTCP для старых версий Squid. Тогда вы должны
# разрешить Squid использование htcp_access.
#
# 'originserver'
#
# определяет, что этот родительский прокси используется для выхода в Интернет.
#
# 'userhash'
#
# используется для баланса нагрузки множества родительских прокси. Правила для
# баланса основываются на клиентском proxy_auth или ident username.
#
# 'sourcehash'
#
# используется для баланса нагрузки множества родительских прокси. Правила для
# баланса основываются на IP адресе клиента.
#
# 'name=xxx'
#
# используется если у вас несколько прокси на одном хосте, но на разных
# портах. Это имя может быть использовано в cache_peer_access и схожих
# директивах.
#
# 'monitorurl=url'
#
# используется для мониторинга состояния соседского прокси. Действует
# следующим образом: посылает запрос на заданный URL и ждет ответа. Если ответ
# пришел - прокси "жив", иначе - нет. По умолчанию, none.
#
# 'monitorsize=min[-max]'
#
# используется для ограничения размера тела ответа полученного от monitorurl.
# По умолчанию - 0(без ограничения на размер).
#
# 'monitorinterval=seconds'
#
# используется для установки частоты мониторинга. По умолчанию 300 секунд.
# Если установить значение 0, то мониторинг будет выключен.
#
# 'monitortimeout=seconds'
#
# используется для установки таймаута 'monitorurl'. По умолчанию, равно
# значению 'monitorinterval'.
#
# 'forceddomain=name'
#
# используется для принудительной вставки Host заголовка в запросы
# направленные к этому прокси. Полезно, если Squid в режиме accelerator.
#
# 'ssl'
#
# определяет то, что подключения к этому прокси должны быть шифрованы по
# SSL/TLS.
#
# 'sslcert=/path/to/ssl/certificate'
#
# определяет клиентский SSL сертификат, который необходимо использовать при
# подключении к этому прокси.
#
# 'sslkey=/path/to/ssl/key'
#
# определяет частный SSL ключ для sslcert. Если 'sslkey' не установлен, тогда
# файл, указанный в sslcert должен содержать и ключ и сертификат.
#
# используйте sslversion=1|2|3|4 для определения версии SSL протокола:
#
# 1 = automatic (по умолчанию)
# 2 = SSL v2 only
# 3 = SSL v3 only
# 4 = TLS v1 only
#
# 'sslcipher=...'
#
# определяет список корректных SSL шифров, используемых для подключения к
# этому прокси.
#
# 'ssloptions=...'
#
# определяет используемый SSL движок:
#
# NO_SSLv2 Запрещает использовать SSLv2
# NO_SSLv3 Запрещает использовать SSLv3
# NO_TLSv1 Запрещает использовать TLSv1
#
# Смотри src/ssl_support.c или документацию по OpenSSL для более
# подробной информации.
#
# 'sslcafile=...'
#
# используется для определения файла содержащего CA сертификаты.
#
# 'sslcapath=...'
#
# определяет каталог, который содержит CA сертификаты.
#
# 'sslcrlfile=...'
#
# определяет список аннулированных сертификатов.
#
# 'sslflags=...'
#
# определяет различные флаги SSL:
#
# DONT_VERIFY_PEER
#
# Принимать сертификаты, даже если они не проверены.
#
# NO_DEFAULT_CA
#
# Не использовать список CA по умолчанию, встроенный в
# OpenSSL.
#
# 'ssldomain='
#
# используется для указания имени прокси в сертификате. Необходимо для
# проверки на корректность полученного сертификата. Если не указано, то
# используется hostname прокси.
#
# 'front-end-https'
#
# используется для включения заголовка "Front-End-Https: On" необходимый при
# использовании Squid как SSL представителя(фронтенда) в Microsoft OWA.
# Смотри MS KB документ Q307347 для подробностей об этом заголовке.
#
# 'connection-auth=off'
#
# сообщает Squid, что этот прокси не поддерживает Microsoft ориентированные
# подключения для аутентификации. По умолчанию, auto, для автоматического
# определения статуса прокси.
#
#По умолчанию:
# 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
#
# Этот пример означает, что UDP пакеты будут отправлятся к прокси серверу
# parent.foo.net только тогда, когда запрошенный объект распологается в .edu
# зоне(домене). А если будет перед доменом будет стоять знако "!", то это
# будет означать, что запрос к parent.foo.net будет направлен только тогда,
# когда объект НЕ находится в .edu зоне(домене).
#
# Примечание: * Тэг cache_peer_domain используется по принципу - один тэг =
# один домен. Следующий домен должен быть оформлен тэгом на
# следующей строке.
# * Когда используется много доменов, то применяется первый
# совпавший. Совпадения идут сверху вниз.
# * Кэш хосты не имеющие ограничений по домену, открыты всем
# доменам.
# * Здесь нет значений по умолчанию.
# * То же самое можно настроить через cache_peer_access, с
# использованием ACL.
#
#По умолчанию:
# none
#
# TAG: cache_peer_access
#
# Этот тэг схож с 'cache_peer_domain', но более гибок за счет использования
# ACL.
#
# cache_peer_access cache-host allow|deny [!]aclname ...
#
# Синтаксис использования подобен http_access. Смотри комментарии к
# http_access или в Squid FAQ (http://www.squid-cache.org/FAQ/FAQ-10.html).
#
#По умолчанию:
# none
#
# TAG: neighbor_type_domain
#
# Использование:
#
# neighbor_type_domain neighbor parent|sibling domain domain ...
#
# Этот тэг позволяет изменять тип соседского прокси для некоторых доменов.
# Настроив значения по умолчанию через директиву cache_peer, вы можете
# указать домены для которых тип соседского прокси будет иным.
#
#Например:
# cache_peer cache.foo.org parent 3128 3130
# neighbor_type_domain cache.foo.org sibling .com .net
# neighbor_type_domain cache.foo.org sibling .au .de
#
#По умолчанию:
# none
#
# TAG: dead_peer_timeout (в секундах)
#
# Этот тэг определяет как долго Squid будет ожидать, прежде чем определит
# прокси "мертвым". "Мертвый" означает, что прокси не отвечает на ICP
# запросы некоторое время. Вот это некоторое время и позволяет задать этот
# тэг. По истечению установленного времени, если соседский прокси не
# отвечает, Squid определит его "мертвым". Однако, Squid будет продолжать
# направлять к нему ICP запросы. И при первом же ответе, определит соседский
# прокси как "живой".
#
#По умолчанию:
# dead_peer_timeout 10 seconds
#
# TAG: hierarchy_stoplist
#
# Этот тэг задает список слов, которые при нахождении их(этих слов) в URL,
# сообщают Squid то, что объект расположенный по этому URL надо брать
# напрямую, а не из кэша. Другими словами, используйте этот тэг, для
# некоторых объектов, которые вы не хотите брать из соседских кэшей.
#
# Примечание: директива never_direct перекрывает эту опцию.
#
# Мы рекомендуем использовать эту строку:
hierarchy_stoplist cgi-bin ?
#
# Секция: MEMORY CACHE
# -----------------------------------------------------------------------------
#
# TAG: cache_mem (в байтах)
#
# ПРИМЕЧАНИЕ: ЭТОТ ПАРАМЕТР НЕ УСТАНАВЛИВАЕТ МАКСИМАЛЬНЫЙ РАЗМЕР ПРОЦЕССА.
# ОН ЛИШЬ ОПРЕДЕЛЯЕТ, СКОЛЬКО ДОПОЛНИТЕЛЬНОЙ ПАМЯТИ SQUID МОЖЕТ
# ИСПОЛЬЗОВАТЬ ДЛЯ КЭШИРОВАНИЯ ОБЪЕКТОВ. SQUID ИСПОЛЬЗУЕТ ПАМЯТЬ И ДЛЯ
# ДРУГИХ ЦЕЛЕЙ. СМОТРИ SQUID FAQ СЕКЦИЮ 8 ДЛЯ ПОДРОБНОСТЕЙ.
#
# 'cache_mem' этот тэг определяет количество памяти для использования под:
#
# * In-Transit objects (Транзитные объекты)
# * Hot Objects ("Горячие" объекты, т.е. часто запрашиваемые)
# * Negative-Cached objects
#
# Данные для этих объектов содержатся в блоках по 4 Кб. Этот параметр
# определяет общий размер памяти разбитого на блоки по 4 Кб. In-Transit
# объекты имеют наивысший приоритет.
#
# In-transit объекты имеют преимущество перед другими, когда дополнительное
# пространство необходимо для входящих данных, negative-cached и
# hot("горячих") объектов. Другими словами, negative-cached и hot объекты
# заполняют любое простанство незанятое под in-transit объекты.
#
# Если того потребуют обстоятельства, этот лимит может быть превышен.
# Например, если ваш входящий запрос требует более чем 'cache_mem' памяти
# для in-transit объектов, Squid превысит установленный лимит памяти, для
# обработки новых запросов.
#
#По умолчанию:
# cache_mem 8 MB
#
# TAG: maximum_object_size_in_memory (в байтах)
#
# Этот тэг задает размер объекта который может хранится в памяти. Объекты
# больше этого размера, сохранятся в памяти не будут. Объекты из памяти
# достаются быстрее, поэтому там должны содержатся только объекты, которые
# часто запрашиваются клиентами. Увеличение значения этого тэга приводит к
# снижению производительности сервера.
#
#По умолчанию:
# maximum_object_size_in_memory 8 KB
#
# TAG: memory_replacement_policy
#
# Этот тэг определяет какие объекты будут удалятся из памяти, когда
# потребуется свободное место под новые объекты.
#
# Смотри cache_replacement_policy для подробностей.
#
#По умолчанию:
# memory_replacement_policy lru
#
# Секция: DISK CACHE
# -----------------------------------------------------------------------------
#
# TAG: cache_replacement_policy
#
# Этот тэг определяет политику удаления (замены) объектов из кэша, когда
# потребуется место под новые объекты.
#
# lru:
#
# Политика Squid по умолчанию, основанная на сохранении часто запрашиваемых объектов.
#
# heap GDSF:
#
# Политика основанная на сохранении небольших по размеру, популярных объектов.
#
# heap LFUDA:
#
# Политика основанная на сохранении популярных объектов вне зависимости от их
# размера.
#
# heap LRU:
#
# Совместная политика LRU и heap.
#
# Применяется к любому тэгу cache_dir.
#
# ПРИМЕЧАНИЕ: если используется политика LFUDA, вам необходимо увеличить
# значение тэга maximum_object_size, который по умолчанию равен
# 4096 Кб, для максимального значения потенциального объекта в
# кэше.
#
# Для более подробной информации о GDSF и LFUDA политиках смотри
# http://www.hpl.hp.com/techreports/1999/HPL-1999-69.html и
# http://fog.hpl.external.hp.com/techreports/98/HPL-98-173.html.
#
#По умолчанию:
# cache_replacement_policy lru
#
# TAG: cache_dir
#
# Использование:
#
# cache_dir Type Directory-Name Fs-specific-data [options]
#
# Вы можете определить несколько cache_dir для распределения кэша на
# различных партициях жесткого диска.
#
# Параметр Type определяет, какой используется тип файловой системы. Только
# "ufs" тип доступен по умолчанию. Для включения дополнительных типов, смотри
# опцию -enable-storeio при компиляции.
#
# 'Directory'
#
# директория, где будет распологатся кэш. Если вы хотите использовать весь диск для
# размещения кэша, то просто укажите точку монтирования диска. Директория должна
# существовать и быть открыта для записи процессом Squid.
# Squid НЕ СОЗДАСТ эту директорию за вас.
#
# Тип ufs:
#
# "ufs" это старый, хорошо знакомый формат для Squid.
#
# cache_dir ufs Directory-Name Mbytes L1 L2 [options]
#
# 'Mbytes'
#
# это количество дискового пространства в мегабайтах(MB), которое может быть
# задействовано в этой директории. По умолчанию, 100 Мб. Измените это в соответствии
# со своими потребностями. НЕ устанавливайте этот параметр в значение размера всего
# вашего свободного пространства. Вместо этого, если вы хотите, чтобы Squid
# использовал всё дисковое пространство, установите этот параметр в значение 80% от
# всего свободного пространства.
#
# 'Level-1'
#
# это количество каталогов первого уровня, которые будут созданы в директории,
# определенной в опцией 'Directory'. По умолчанию, 16.
#
# 'Level-2'
#
# это количество каталогов второго уровня, которые будут созданы в каждой директории
# первого уровня. По умолчанию, 256.
#
# Тип aufs:
#
# "aufs" является схожим с "ufs" форматом, использующий POSIX-потоки для
# записи данных на диск.
#
# cache_dir aufs Directory-Name Mbytes L1 L2 [options]
#
# Смотри описание аргументов, используемых в "ufs"
#
# Тип diskd:
#
# "diskd" является схожим форматом с "ufs", используя раздельные процессы
# для записи данных на диск.
#
# 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 (по умолчаню), кэш директория оптимизирована под малое время
# для ответа на запрос, ценой уменьшения количества попаданий(TCP_HIT). Если
# Q1 > Q2, кэш директория оптимизрована на увеличение количества
# попаданий(TCP_HIT), ценой увеличения время для ответа на запрос.
#
# Примечание break-people.ru:
# Для тех кто не понял предпоследние два абзаца, объясняем другими словами.
# При работе с кэшем, Squid осуществляет два основных действия: запись в кэш
# и выборка из кэша. Эти действия Squid производит с диском, соответственно
# вызывая команды на запись/чтение диска. Так вот, если Squid начинает
# слишком быстро записывать файлы в кэш директорию, может случится сбой
# системы, в связи с тем, что диск не успевает обрабатывать все запросы
# Squid корректно. Поэтому Squid прежде чем записать, файл спрашивает
# систему - можно ли записать в систему файл? Если система отвечает
# положительно, то Squid записывает файл, если ответ отрицательный, то
# незаписывает. А вот если ответа вообще не было, то здесь
# уже могут начатся проблемы. При отсутствии ответа от системы, Squid
# начинает считать количество "неответов". Контролирует это число параметры
# Q1 и Q2, с той лишь разницей, что при превышении Q1 отвечает за работу с
# уже существующими файлами кэша, а Q2 - за запись на диск новых файлов в
# кэш. А дальше описано понятно.
#
# Тип coss:
#
# block-size=n
#
# опредеяет "block size" для COSS 'cache_dir'. Squid использует номера файлов как
# номера блоков. Т.к. номера файлов ограничены до 24 битов, размер блока определяет
# максимальный размер COSS раздела. По умолчанию, 512 байтов, что определяет
# максимальный размер cache_dir 8 Гб.
#
# Примечание: нельзя менять размер 'block-size', после того как Squid записал
# первые объекты в 'cache_dir'.
#
# overwrite-percent=n
#
# определяет процент дискового пространства, который будет использоватся COSS для
# записи объектов, прежде чем они(объекты) в текущую полосу. Установление значения
# "n" близкого к 100, может стать причиной того, что COSS будет содержать много
# копий одного и того же объекта. По умолчанию 50.
#
# max-stripe-waste=n
#
# определяет максимальный размер дискового пространства отведенный под COSS полосу.
#
# membufs=n
#
# определяет количество "memory-only" полос используемых COSS.
#
# maxfullbufs=n
#
# определяет максимальное количество полос COSS, стоящих в очереди перед их
# освобождением(очищением).
#
# Тип null:
#
# Нет обязательных или рекомендательных опций
#
# Общие опции:
#
# read-only, не записывать новые объекты в cache_dir
#
# min-size=n,
#
# минимальный размер объекта для этой cache_dir. Можно использовать, для определения
# этой cache_dir только под большие объекты, в то время как остальные cache_dir
# определить под маленькие. По умолчанию, 0.
#
# max-size=n,
#
# максимальный размер объекта для этой cache_dir.
#
# Примечание: для оптимального использования, вы должны расположить список
# cache_dir таким образом, что первыми будут идти директории с
# наименьшим значением max-size, а последующие cache_dir идут по
# нарастанию max-size. Директории не имеющие опции max-size,
# теоретически не имеют предела на размер объекта кэша.
#
# Примечание: для COSS, max-size должно быть менее COSS_MEMBUD_SZ(Жестко
# установлено в 1 Мб).
#
# Примечание для пользователей FreeBSD:
# COSS -- как и aufs -- использует асинхронный IO, поэтому если вы
# скомпилируете Squid без поддержки aufs, COSS будет использовать POSIX AIO.
# Это означает, что вам необходимо добавить строку:
#
# options VFS_AIO
#
# в вашу конфигурацию ядра, для использования COSS.
#
# На FreeBSD 5 и выше вы можете запустить модуль aio(4) и не пересобирать
# ваше ядро.
#
# Если вы скомпилировали Squid с поддержкой и COSS и aufs, COSS будет
# использовать методы записи aufs.
#
#По умолчанию:
# cache_dir ufs /usr/local/squid/cache 100 16 256
#
# TAG: store_dir_select_algorithm
#
# Этот тэг определяет алгоритм выбора директории для кэширования некоторого
# объекта. Установите этот тэг в значение 'round-robin' если необходимо
#
#По умолчанию:
# store_dir_select_algorithm least-load
#
# TAG: max_open_disk_fds
#
# Этот тэг определяет максимальное количество открытых файлов одновременно.
#
# Значение 0 - без ограничений.
#
#По умолчанию:
# max_open_disk_fds 0
#
# TAG: minimum_object_size (в байтах)
#
# Этот тэг определяет минимальный размер объекта. Объекты, которые размером
# будут менее установленного минимального, НЕ БУДУТ сохранятся на диск.
# Значение указывается в килобайтах. По умолчанию 0 - без ограничений на
# размер объекта.
#
#По умолчанию:
# minimum_object_size 0 KB
#
# TAG: maximum_object_size (в байтах)
#
# Этот тэг определяет максимальный размер объекта. Объекты, которые размером
# будут более установленного максимального, НЕ БУДУТ сохранятся на диск.
# Значение указывается в килобайтах. По умолчанию, 4 Мб.
#
# ПРИМЕЧАНИЕ: если вы используете политику LFUDA вам следует увеличить это
# значение. Для подробностей смотри тэг cache_replacement_policy.
#
#По умолчанию:
# maximum_object_size 4096 KB
#
# TAG: cache_swap_low (percent, 0-100)
# TAG: cache_swap_high (percent, 0-100)
#
# Эти тэги определяют нижний и верхний предел заполненности swap. Замена
# объектов кэша, согласно выбранной политики, начинается, когда
# заполненность swap достигнет нижней границы. Если заполненность swap
# достигнет верхней границы, то замена объектов кэша будет происходить
# более агрессивно.
#
# По умолчанию 90% и 95% соответственно. Если у вас большой кэш, 5% это
# будут сотни мегабайт. В таком случае вы можете увеличить процент границ.
#
#По умолчанию:
# cache_swap_low 90
# cache_swap_high 95
#
# Секция: Журналирование(LOGFILE)
# -----------------------------------------------------------------------------
#
# TAG: logformat
#
# Использование:
#
# logformat <name> <format specification>
#
# Этот тэг определяет формат записи для журнала доступа(access.log)
#
# <format specification> это строка со специальными символами
#
# Специальные символы определяют некоторую базовую структуру записи данных в
# журнал. Выходная строка будет автоматически сформирована из данных
# определенных специальными символами.
#
# % ["|[|'| #] [-] [[0]width] [{argument}] formatcode
#
# " выходные данные заключить в кавычки
# [ выходные данные в формате используемом для log_mime_hdrs
# # выходные данные в URL формате
# ' выходные данные как есть(as-is)
#
# - выравнивание по левому краю
# width поля width. Если начинается с 0,
# то выходные данные будут сдвинуты на 0 относительно левого края
# {arg} аргумента. Например, название заголовка(Header) и т.п.
#
# Специальные символы:
#
# >a Client source IP address (Клиентский IP адрес)
#
# >A Client FQDN
# (Клиентский FQDN)
#
# >p Client source port
# (Клиентский порт)
#
# <A Server IP address or peer name
# (IP адрес сервера или имя пира)
#
# la Local IP address (http_port)
# (Локальный IP адрес)
#
# lp Local port number (http_port)
# (Локальный порт)
#
# ts Seconds since epoch
# (Прошло секунд с начала эпохи)
#
# tu subsecond time (milliseconds)
# (Время в миллисекундах)
#
# tl Local time. Optional strftime format argument
# (Локальное время). Формат по умолчанию %d/%b/%Y:%H:%M:%S %z
#
# tg GMT time. Optional strftime format argument
# (GMT время). Формат по умолчанию %d/%b/%Y:%H:%M:%S %z
#
# tr Response time (milliseconds)
# (Время ответа в мс)
#
# >h Request header. Optional header name argument
# (Заголовок запроса). Опционально можно задать имя заголовка
# header[:[separator]element]
#
# <h Reply header. Optional header name argument
# (Заголовок ответа)
#
# un User name
# (Имя пользователя)
#
# ul User name from authentication
# (Имя авторизованного пользователя)
#
# ui User name from ident
# (Имя пользователя от ident)
#
# us User name from SSL
# (Имя пользователя от SSL)
#
# ue User name from external acl helper
# (Имя пользователя от внешней программы авторизации)
#
# Hs HTTP status code
# (Код ответа HTTP)
#
# Ss Squid request status (TCP_MISS etc)
# (Ответ Squid на запрос)
#
# Sh Squid hierarchy status (DEFAULT_PARENT etc)
# (Уровень этого Squid в иерархии нескольких прокси)
#
# mt MIME content type
# (MIME тип)
#
# rm Request method (GET/POST etc)
# (Метод запроса)
#
# ru URL запроса
#
# rv Протокол запроса, версия
#
# ea Лог строка возвращаемая от внешнего ACL
#
# <st Размер ответа включая HTTP заголовки
#
# >st Размер запроса включая HTTP заголовки
#
# st Общий размер Запрос + Ответ включая HTTP заголовки
#
# % знак %
#
# Форматы по умолчанию:
#
#logformat squid %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt
#
#logformat squidmime %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt
# [%>h] [%<h]
#
#logformat common %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st %Ss:%Sh
#
#logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h"
# "%{User-Agent}>h" %Ss:%Sh
#
#По умолчанию:
# none
#
#Примечание break-people.ru: При задании формата, вы указываете его имя. Оно
# понадобится в соответствующих директивах. Например,
# первая строчка форматов по умолчанию задаёт
# некоторый формат с именем squid. Это значит, что
# затем в директивах типа access_log, вам не нужно
# прописывать формат записи в журнал, а следует
# просто указать имя squid вместо <logformat name>.
#
# TAG: access_log
#
# Этот тэг определяет местоположение журнала access.log в который будет производится
# запись клиентской активности. Каждая строка содержит HTTP или ICP запрос. Формат:
#
# access_log <filepath> [<logformat name> [acl acl ...]]
# access_log none [acl acl ...]]
#
# Этот тэг позволяет использовать механизм ACL при записи в журнал. Если ни
# один ACL не указан, следовательно все поступившие запросы будут записаны в
# журнал.
#
# Для отключения функции ведения журнала, укажите вместо <filepath> значение
# "none".
#
# Для записи в журнал через syslog, укажите путь к "syslog":
#
# access_log syslog[:facility.priority] [format [acl1 [acl2 ....]]]
#
# где facility может быть одним из:
#
# authpriv, daemon, local0 .. local7 or user.
#
# priority может быть одним из:
#
# err, warning, notice, info, debug.
#
access_log /usr/local/squid/logs/access.log squid
#
# TAG: log_access allow|deny acl acl...
#
# Этот тэг позволяет определить, какие запросы будут записаны в журнал access.log.
# (смотри директиву access_log).
#
# По умолчанию, записываются все запросы. То есть, к примеру, записываются все
# запросы на 6785(число выбрано произвольно) порт.
#
# Пример, когда нужно запретить запись запросов на порт 6785 в журнал access.log:
#
#acl bad_port port 6785
#log_access deny bad_port
#
#Пример, когда нужно запретить запись запросов к www.google.ru в журнал access.log:
#
#acl google url_regex <nowiki>^http://www.google.ru</nowiki>
#log_access deny google
#
#По умолчанию:
# none
#
# TAG: cache_log
#
# Этот тэг определяет местоположение журнала cache.log. Этот журнал содержит
# основную информацию об использовании кэша.
#
#По умолчанию:
# cache_log /usr/local/squid/logs/cache.log
#
# TAG: cache_store_log
#
# Этот тэг определяет местоположение журнала store.log. Этот журнал
# отражает, какие объекты были взяты из кэша, какие объекты хранятся и как
# долго они хранятся. Для отключения ведения журнала введите "none". В этом
# журнале нет информации, которая была бы полезна при анализе работы кэша.
# Поэтому вы можете смело отключить ведение этого журнала.
#
#По умолчанию:
# cache_store_log /usr/local/squid/logs/store.log
#
# TAG: cache_swap_state
#
# Этот тэг определяет местоположение файла "swap.state". Этот файл содержит
# метаданные об объектах записананных на диск. Это используется при запуске
# Squid, для быстрого сбора информации о кэше. Обычно этот файл
# распологается в каждой директории cache_dir, но вы можете указать
# альтернативное месторасположение. Помните, вы должны указать полный путь
# к файлу, включая название файла, а не только путь из каталогов.
#
# Если переменная %s используется в имени файла, то она будет заменена на
# полное имя директории кэша(полный путь к ней) cache_dir, где каждый знак
# '/' будет заменятся на знак '.'. Это необходимо для разрешения
# добавления/удаления cache_dir строк при использовании cache_swap_log.
#
# Если у вас более одной cache_dir и переменная %s не используется, то
# swap файлы будут выглядеть так:
#
# cache_swap_log.00
# cache_swap_log.01
# cache_swap_log.02
#
# Если вы измените порядок расположения cache_dir в конфигурационном
# файле, то возникнет ошибка. Выход - удалить кэш и пересоздать его снова.
# Либо не изменять порядок расположения cache_dir, если в кэш сделана уже
# хотя бы одна запись.
#
#По умолчанию:
# none
#
# TAG: logfile_rotate
#
# Этот тэг определяет количество ротаций лог-файла. По умолчанию - 10. Это
# означает, что когда вы введете команду 'squid -k rotate', то текущий файл
# журнала получит расширение от 0 до 9 и будет отложен. Вместо него
# создастся новый файл для ведения журнала и теперь все записи будут вестись
# уже в новый файл. Если установить значение тэга logfile_rotate 0, то это
# отключит ротацию файлов.
#
# Помните, команда 'squid -k rotate' обычно отправляет сигнал USR1 к
# запущенному процессу squid. В некоторых ситуациях(Например на Linux с
# Async I/O), USR1 используется для других целей, поэтому -k rotate
# использует другой сигнал. Следовательно вам не нужно использовать 'kill -
# USR1 <pid>'.
#
#По умолчанию:
# logfile_rotate 10
#
# TAG: emulate_httpd_log on|off
#
# Этот тэг определяет включение/выключение эмуляции 'httpd' формата ведения
# журнала. По умолчанию, Squid ведет журналы в своём собственном формате.
#
#По умолчанию:
# emulate_httpd_log off
#
# TAG: log_ip_on_direct on|off
#
# Этот тэг определяет, вести ли запись IP адрес назначения запроса, если он
# идет напрямую(direct). Ранние версии Squid вели запись имени
# хоста(hostname). Если вы предпочитаете старый способ, то вам необходимо
# установить значение этой директивы в off.
#
#По умолчанию:
# log_ip_on_direct on
#
# TAG: mime_table
#
# Этот тэг определяет путь к таблице Squid's MIME.
#
#По умолчанию:
# mime_table /usr/local/etc/squid/mime.conf
#
# TAG: log_mime_hdrs on|off
#
# Этот тэг определяет, вести ли запись обоих заголовков - запроса и ответа
# для каждой HTTP транзакции. Для включения этой возможности, вам следует
# установить значение этой директивы в on.
#
#По умолчанию:
# log_mime_hdrs off
#
# TAG: useragent_log
#
# Примечание: этот тэг доступен только если Squid собран с опцией
# --enable-useragent-log
#
# Этот тэг определяет файл, в который Squid будет записывать поле User-Agent
# из HTTP запросов. По умолчанию, useragent_log выключен.
#
#По умолчанию:
# none
#
# TAG: referer_log
#
# Примечание: этот тэг доступен только если Squid собран с опцией
# --enable-referer-log option
#
# Этот тэг определяет файл, в который Squid будет записывать поле Referer из
# HTTP запросов. По умолчанию, referer_log выключен. Помните, что "referer"
# это ошибочное написание "referrer", т.е. "referrer" - правильное написание.
# Но Squid понимает оба варианта.
#
#По умолчанию:
# none
#
# TAG: pid_filename
#
# Этот тэг определяет местоположение файла в который будет происходить
# запись id процесса. Для отключения, введите "none".
#
# Примечание: Если вы измените значение этого тэга, вам нужно будет изменить
# на это же значение директиву squid_pidfile в /etc/rc.conf. Смотри
# /usr/local/etc/rc.d/squid для подробностей.
#
#По умолчанию:
# pid_filename /usr/local/squid/logs/squid.pid
#
# TAG: debug_options
#
# Этот тэг определяет секцию и уровень отладки. Формат записи debug_options
# секция,уровень_отладки . Уровень может быть выставлен от 1 до 9. Чем выше
# уровень отладки тем больше будет размер журнала. Рекомендуется "ALL,1".
#
#По умолчанию:
# debug_options ALL,1
#
# TAG: log_fqdn on|off
#
# Этот тэг позволяет включить/выключить запись полного формата доменных имен
# в access.log. Для того, чтобы это сделать Squid осуществляет DNS поиск
# всех подключающихся IP адресов. Этот тэг дополнительно нагружает систему в
# связи с чем может снизится производительность.
#
#По умолчанию:
# log_fqdn off
#
# TAG: client_netmask
#
# Этот тэг позволяет задать маску сети для клиентских адресов при записи в
# журналы. Измените этот тэг если вы хотите сохранить конфиденциальность
# ваших клиентов. Маска 255.255.255.0 означает, что у всех клиентских
# адресов последняя цифра IP адреса будет заменена на 0 в журнале. По
# умолчанию IP адреса записываются как есть.
#
#По умолчанию:
# client_netmask 255.255.255.255
#
# TAG: forward_log
#
# Примечание: этот тэг доступен только если Squid собран с опцией
# --enable-forward-log option
#
# Этот тэг определяет местоположение журнала в который будет вестись запись
# запросов сервера.
#
# Пока не работает.
#
#По умолчанию:
# none
#
# TAG: strip_query_terms
#
# Этот тэг позволяет включить/выключить опцию удаления значений передаваемых
# в URL запросе. Это сохраняет конфиденциальность ваших пользователей.
#
#По умолчанию:
# strip_query_terms on
#
# TAG: buffered_logs on|off
#
# Этот тэг позволяет включить/выключить буферизацию данных перед записью в
# файл журнала на диск.
#
#По умолчанию:
# buffered_logs off
#
# Секция: FTP GATEWAYING
# -----------------------------------------------------------------------------
#
# TAG: ftp_user
#
# Этот тэг позволяет задать пароль ftp пользователю Anonymous(!!!) от имени
# которого Squid будет осуществлять просмотр анонимных ресурсов по FTP
# протоколу. Например, это может быть что-нибудь, вроде
# wwwuser@somewhere.net
#
#
#По умолчанию:
# ftp_user Squid@
#
# TAG: ftp_list_width
#
# Этот тэг устанавливает ширину ftp листинга. Листинг - это вывод данных по
# запросу. При работе с ftp запрашивается содержимое, например, каталога. В
# ответ приходит листинг содержимого. Если значение 'ftp_list_width'
# установлено в значение 10, это означает, что имя каждого объекта
# листинга(файл или каталог), будет обрезано до 10 символов. Значение 32
# установлено по умолчанию.
#
#По умолчанию:
# ftp_list_width 32
#
# TAG: ftp_passive
#
# Этот тэг разрешает/запрещает использование пассивных соединений. Если ваш
# firewall не разрешает Squid использовать пассивные соединения, то
# установите значение тэга в off.
#
#По умолчанию:
# ftp_passive on
#
# TAG: ftp_sanitycheck
#
# Этот тэг разрешает/запрещает проверку FTP сервера на предмет безопасности.
# Проверяется соответствие IP адреса FTP сервера с которого происходит
# передача данных, с IP адресом к которому произведено подключение. Если вам
# нужно разрешить FTP подключения к серверам использующим другие IP адреса
# для передачи данных, то следует установить значение этого тэга в off.
#
#По умолчанию:
# ftp_sanitycheck on
#
# TAG: ftp_telnet_protocol
#
# Этот тэг разрешает/запрещает использовать telnet протокол для контроля
# соединения.
#
# Если у вас возникают проблемы с доступом к файлам, имена которых в ASCII
# кодировке, или иные проблемы также связанные с ASCII кодировкой, то
# следует установить значение этого тэга в off.
#
#По умолчанию:
# ftp_telnet_protocol on
#
# Секция: EXTERNAL SUPPORT PROGRAMS
# -----------------------------------------------------------------------------
#
# TAG: diskd_program
#
# Этот тэг позволяет определить местополжение исполнительного файла diskd.
# Помните, это имеет смысл только, если вы скомпилировали diskd как один из
# модулей ввода/вывода.
#
#По умолчанию:
# diskd_program /usr/local/libexec/squid/diskd-daemon
#
# TAG: unlinkd_program
#
# Этот тэг позволяет определить местоположение демона unlinkd.
#
#По умолчанию:
# unlinkd_program /usr/local/libexec/squid/unlinkd
#
# TAG: pinger_program
#
# Примечание: этот тэг доступен только если Squid собран с опцией
# --enable-icmp option
#
# Этот тэг позволяет определить местоположение программы pinger.
#
#По умолчанию:
# pinger_program /usr/local/libexec/squid/pinger
#
# Секция: URL REWRITING
# -----------------------------------------------------------------------------
#
# TAG: url_rewrite_program
#
# Этот тэг позволяет определить местоположение исполнительного файла
# программы URL rewriter. URL rewriter - программа преобразования URL.
# Например, SquidGuard. В дальнейшем для краткости будем именовать такую
# программу - Преобразователь.
#
# Соответственно, чтобы преобразователь сделал некоторое преобразование,
# необходимо, чтобы Squid делал редирект на эту программу. Squid будет
# делать редирект автоматически.
#
# Для каждого запрошенного URL, преобразователь получает строку от Squid в
# таком формате:
#
# URL <SP> client_ip "/" fqdn <SP> user <SP> method <SP> urlgroup <NL>
#
# И преобразователь может перенаправить клиента на другой URL. А может и
# ничего не делать, но это было бы глупо.
#
# Преобразователь может вернуть и "urlgroup", которую можно завернуть на
# cache_peer_access или на ACL вида urlgroup.
#
# По умолчанию, URL преобразователь не используется.
#
#Пример:
#url_rewrite_program /usr/local/squid/bin/squidGuard -С /usr/local/etc/squid/squidGuard.conf
#
#По умолчанию:
# none
#
# TAG: url_rewrite_children
#
# Этот тэг определяет число возможных дочерних процессов преобразователя.
# Если это число будет большим, то это увеличит нагрузку на систему.
# Помните, что при запуске Squid, все его дочерние процессы преобразователя
# также запускаются и висят в памяти в ожидании строки для преобразования.
# Соответственно, уменьшение количества дочерних процессов может сказатся на
# скорости обработки запросов.
#
#По умолчанию:
# url_rewrite_children 5
#
# TAG: url_rewrite_concurrency
#
# Этот тэг определяет возможное число запросов, к каждому экземпляру
# преобразователя, которые могут быть обрабатыватся
# одновременно(параллельно). По умолчанию, 0, что определяет отсутствие
# параллельности, т.е. обработка одного запроса одним экземпляром
# преобразователя.
#
#По умолчанию:
# url_rewrite_concurrency 0
#
# TAG: url_rewrite_host_header
#
# Этот тэг разрешает/запрещает переписывать заголовок Host.
#
# ПРЕДУПРЕЖДЕНИЕ: Записи получившиеся после преобразования, кэшируются,
# поэтому будьте осторожны если вы используете виртуальные хосты.
#
#По умолчанию:
# url_rewrite_host_header on
#
# TAG: url_rewrite_access ACL
#
# Этот тэг определяет список, содержащий запросы, которые будут
# перенаправлены к преобразователю. По умолчанию, все запросы
# перенаправляются на него.
#
#По умолчанию:
# none
#
# TAG: redirector_bypass
#
# Этот тэг разрешает/запрещает задержку запросов к преобразователю. Когда
# значение этого тэга в значении on, запросы не будут проходить к этой
# программе, если все дочерние экземпляры преобразователя заняты. Если
# значение off и количество запросов к этой программе будет очень большим,
# Squid закончит работу с выводом фатальной ошибки и потребует увеличить
# количество возможных дочерних процессов преобразователя. Этот тэг
# применяется если редиректор используется для аутентификации.
#
#По умолчанию:
# redirector_bypass off
#
# TAG: location_rewrite_program
#
# Этот тэг определяет местоположение исполнительного файла программы
# Location rewriter, которая используется для преобразования URL в ответах
# сервера. Обычно используется в связке с url_rewrite_program.
#
# Для каждого Location header принимается строка следующего формата:
#
# location URL <SP> requested URL <SP> urlgroup <NL>
#
# И преобразователь может вернуть Location URL или пустую строку. Остальные
# компоненты строки игнорируются.
#
# По умолчанию, Location преобразователь не используется.
#
#По умолчанию:
# none
#
# TAG: location_rewrite_children
#
# Этот тэг определяет число возможных дочерних процессов преобразователя.
# Если это число будет большим, то это увеличит нагрузку на систему.
# Помните, что при запуске Squid, все его дочерние процессы преобразователя
# также запускаются и висят в памяти в ожидании строки для преобразования.
# Соответственно, уменьшение количества дочерних процессов может сказатся на
# скорости обработки запросов.
#
#По умолчанию:
# location_rewrite_children 5
#
# TAG: location_rewrite_concurrency
#
# Этот тэг определяет возможное число запросов, к каждому экземпляру
# преобразователя, которые могут быть обрабатыватся
# одновременно(параллельно). По умолчанию, 0, что определяет отсутствие
# параллельности, т.е. обработка одного запроса одним экземпляром
# преобразователя.
#
#По умолчанию:
# location_rewrite_concurrency 0
#
# TAG: location_rewrite_access ACL
#
# Этот тэг определяет список, содержащий запросы, которые будут
# перенаправлены к преобразователю. По умолчанию, все запросы
# перенаправляются на него.
#
#По умолчанию:
# none
#
# Секция: TUNING THE CACHE
# -----------------------------------------------------------------------------
#
# TAG: cache
#
# Этот тэг позволяет определить объекты, которые НЕ(!) будут кэшироватся.
# Объекты задаются через ACL. При совпадении с ACL, объект будет братся
# напрямую.
#
# Другими словами, используйте этот тэг для объектов, которые не должны
# кэшироватся.
#
# Вы должны использовать слово 'DENY' для указания того, что объекты
# совпадающие с этим ACL НЕ(!) должны кэшироватся.
#
# По умолчанию, разрешено кэшировать ВСЕ объекты.
#
#Мы рекомендуем использовать следующие две строчки:
#
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
#
# TAG: refresh_pattern
#
# Этот тэг позволяет настраивать дополнительные параметры оптимизации кэширования. Эти
# настройки помогают Squid определить, брать объект для пользователя из кэша, или этот
# объект уже устарел в кэше, и нужно скачать этот объект у первоисточника заново.
#
# Использование: refresh_pattern [-i] regex min percent max [options]
#
# По умолчанию, регулярные выражения РЕГИСТРОЗАВИСИМЫ. Для того, чтобы сделать
# их регистроНЕзависимыми используйте опцию -i.
#
# 'Min'
#
# минимальное время(в минутах) для объектов, которым оно не задано явно, в течение
# которого они(объекты) считаются "свежими". Рекомендуемое значение 0. Увеличение
# этого значения может стать причиной некоторых ошибок в приложениях идущих через
# Squid в Интернет. Например, при обращении к некоторому объекту он может быть выдан
# из кэша, в то время как программе нужен "свежий", актуальный в это конкретное время
# объект. В этой связи, для обработки некоторых данных, в приложение может поступить
# устаревшая информация, что повлечет за собой ошибочность конечного результата.
#
# 'Percent'
#
# процент от возраста объекта(время прошедшее с момента последнего изменения). В
# течение полученного времени объект считается "свежим".
#
# 'Max'
#
# максимальное время(в минутах) для объектов, которым оно не задано явно, в течение
# которого они(объекты) считаются "свежими".
#
# Опции:
#
# override-expire
# override-lastmod
# reload-into-ims
# ignore-reload
# ignore-no-cache
# ignore-private
# ignore-auth
#
# override-expire
#
# использовать установленное минимальное время "свежести" объектов, если сервер
# отправляет заголовок Expires. Т.е. что объект устарел. Использование этой опции
# НАРУШАЕТ стандарт HTTP. Включая эту опцию, вы принимаете на себя
# ответственность за возможные проблемы.
#
# override-lastmod
#
# использовать установленное минимальное время "свежести" объектов, которые были
# изменены недавно.
#
# reload-into-ims
#
# изменяет клиентские запросы 'no-cache' или 'reload' на 'If-Modified-Since'.
# Использование этой опции НАРУШАЕТ стандарт HTTP. Включая эту опцию, вы
# принимаете на себя ответственность за возможные проблемы.
#
# ignore-reload
#
# игнорирование клиентских заголовков 'no-cache' или 'reload'. Использование этой
# опции НАРУШАЕТ стандарт HTTP. Включая эту опцию, вы принимаете на себя
# ответственность за возможные проблемы.
#
# ignore-no-cache
#
# игнорировать заголовки 'Pragma: no-cache' и 'Cache-control: no-cache' принятые
# от сервера. HTTP RFC никогда не разрешало использовать Pragma заголовки
# серверами. Это разрешается только клиентам, но сервера все равно отсылают эти
# заголовки.
#
# ignore-private
#
# игнорировать заголовки 'Cache-control: private' принятые от сервера.
# Использование этой опции НАРУШАЕТ стандарт HTTP. Включая эту опцию, вы
# принимаете на себя ответственность за возможные проблемы.
#
# ignore-auth
#
# кэшировать ответы на запросы авторизации, если внешний(оригинальный) сервер
# отправил заголовок 'Cache-control: public' в ответе. Использование этой опции
# НАРУШАЕТ стандарт HTTP. Включая эту опцию, вы принимаете на себя
# ответственность за возможные проблемы.
#
# Механизм действия:
#
# FRESH if expires < now, else STALE
# STALE if age > max
# FRESH if lm-factor < percent, else STALE
# FRESH if age < min
# else STALE
#
# Примечание break-people.ru:
# А теперь механизм по-русски:
# СВЕЖИЙ если время_когда_истекает_свежесть < текущее время(время сейчас),
# иначе УСТАРЕЛ
# УСТАРЕЛ если возраст > максимальный_возраст(Max)
# СВЕЖИЙ если возраст_с_последнего_изменения <
# процент_от_максимального_возраста_объекта, иначе УСТАРЕЛ
# СВЕЖИЙ если возраст < минимальный_возраст(Min)
# иначе УСТАРЕЛ
#
# Тэги refresh_pattern проходятся по порядку сверху вниз. Первое совпадение и
# будет использоватся. Если совпадений не найдено, то будут использоватся
# настройки по умолчанию.
#
#Рекомендуемые настройки:
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
#
# TAG: quick_abort_min (KB)
# TAG: quick_abort_max (KB)
# TAG: quick_abort_pct (percent)
#
# Эти тэги устанавливают докачку объектов в кэш, если клиент оборвал
# соединение. Кэш по умолчанию продолжает докачивать объект если осталось менее
# 16 килобайт, даже если клиент отменил запрос. Это нежелательно на медленных
# линиях и/или очень загруженных прокси-серверах.
#
# Когда пользователь отменяет запрос, Squid проверяет значения тэгов
# quick_abort.
#
# Если осталось докачать 'quick_abort_min' килобайт, то Squid докачает.
#
# Если осталось докачать более чем 'quick_abort_max' килобайт, то Squid оборвет
# закачку.
#
# Если более чем 'quick_abort_pct' процентов закачано, то Squid докачает.
#
# Если вы хотите, чтобы Squid никогда не докачивал после отмены запроса
# клиентом, то установите оба тэга 'quick_abort_min' и 'quick_abort_max' в
# значение '0 KB'.
#
# Если вы хотите, чтобы Squid всегда докачивал объекты, которые будут
# кэшироватся, то установите значение тэга 'quick_abort_min' в '-1 KB'.
#
#По умолчанию:
# quick_abort_min 16 KB
# quick_abort_max 16 KB
# quick_abort_pct 95
#
# TAG: read_ahead_gap buffer-size
#
# Этот тэг устанавливает количество данных подлежащих буферизации прежде, чем
# отправить их клиенту.
#
#По умолчанию:
# read_ahead_gap 16 KB
#
# TAG: negative_ttl time-units
#
# Этот тэг устанавливает TTL(время жизни) кэшированных сообщений об
# ошибках(например, "connection refused" или "404 Not Found"). По умолчанию 5
# минут. Помните, есть разница между этими сообщениями об ошибках и сообщениями
# об ошибках связанных с DNS поиском записей.
#
#По умолчанию:
# negative_ttl 5 minutes
#
# TAG: positive_dns_ttl time-units
#
# Этот тэг устанавливает TTL(время жизни) кэшированных корректных 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 (bytes)
#
# Этот тэг устанавливает возможность запроса файла по частям(по кускам), прежде
# чем Squid получит файл полностью. Если часть(кусок) файла находится за
# пределами значения этого тэга, то эта часть НЕ кэшируется.
#
# Это позволяет Squid блокировать запросы к части файла начинающейся например с
# семнадцатого мегабайта. Брать файл по кускам - обычная практика современных
# закачивающих программ.
#
# Значение -1 сообщает Squid закачивать файл начиная с начала файла, даже если
# пользователь запросил какую-то часть файла. Затем он кэширует этот объект и
# выдает пользователю. (2.0 стиль (имеется ввиду такое принято в ветке 2.0
# Squid))
#
# Значение 0 сообщает Squid не закачивать более чем, запросил клиент. (по
# умолчанию)
#
#По умолчанию:
# range_offset_limit 0 KB
#
# TAG: minimum_expiry_time (seconds)
#
# Этот тэг устанавливает минимальное время кэширования объектов в соответствии
# с (Expires - Date) заголовками. В обратном прокси может быть желательным
# установить меньшее время жизни объектов в кэше. Однако, лучший вариант -
# когда ваш сервер будет обрабатывать более значимый заголовок - Last-Modified.
#
#По умолчанию:
# minimum_expiry_time 60 seconds
#
# TAG: store_avg_object_size (kbytes)
#
# Этот тэг определяет средний размер объектов в кэше. Это необходимо для
# подсчитывания количества объектов, которое может находится в вашем кэше. По
# умолчанию, 13 KB.
#
#По умолчанию:
# store_avg_object_size 13 KB
#
# TAG: store_objects_per_bucket
#
# Этот тэг определяет количество объектов на хэш-корзину. Уменьшение этого
# значения увеличивает общее количество корзин. По умолчанию, 20.
#
#По умолчанию:
# store_objects_per_bucket 20
#
# Секция: HTTP
# -----------------------------------------------------------------------------
#
# TAG: request_header_max_size (KB)
#
# Этот тэг определяет максимальный размер HTTP заголовков в запросе. Размер
# заголовков обычно небольшой(около 512 байтов). Установка ограничения на
# размер заголовков в запросе может стать причиной некоторых ошибок. Например,
# связанных с persistent соединениями, переполнением буфера или отказа в
# обслужвании.
#
#По умолчанию:
# request_header_max_size 20 KB
#
# TAG: reply_header_max_size (KB)
#
# Этот тэг определяет максимальный размер HTTP заголовков в ответе. Размер
# заголовков обычно небольшой(около 512 байтов). Установка ограничения на
# размер заголовков в ответе может стать причиной некоторых ошибок. Например,
# связанных с persistent соединениями, переполнением буфера или отказа в
# обслужвании.
#
#По умолчанию:
# reply_header_max_size 20 KB
#
# TAG: request_body_max_size (KB)
#
# Этот тэг определяет максимальный размер тела запроса. Другими словами,
# максимальный размер PUT/POST запросов. Пользователь, который отправит запрос
# большего размера, чем указано в этом тэге, получит сообщение об ошибке
# "Invalid request". Если вы установите этот тэг в значение 0 (по умолчанию),
# то не будет никакого ограничения на размер тела запроса.
#
#По умолчанию:
# request_body_max_size 0 KB
#
# TAG: broken_posts
#
# Этот тэг определяет дописывание дополнительных CRLF после тела PUT/POST
# запроса. Запросы в которые необходимо дописывание CRLF заносятся в ACL, а
# затем используются в этом тэге.
#
# Некоторые HTTP серверы имеют неправильную реализацию PUT/POST, и полагаются
# на дополнительную пару CRLF при принятии PUT/POST запросов от некоторых WWW
# клиентов.
#
# Цитата из RFC2616 секция 4.1 по этому поводу:
#
# Примечание: некоторые HTTP/1.0 клиенты реализованы с ошибками и добавляют
# дополнительно CRLF после POST запроса. Чтобы исключить
# возможные некорректные обработки POST запроса, все клиенты
# HTTP/1.1 должны добавлять дополнительно CRLF к POST запросу
# перед отправкой.
#
#Пример:
# acl buggy_server url_regex <nowiki>^http://....</nowiki>
# broken_posts allow buggy_server
#
#По умолчанию:
# none
#
# TAG: via on|off
#
# Этот тэг разрешает/запрещает добавлять Via заголовок в запросы и ответы, как
# того требует RFC2616.
#
#По умолчанию:
# via on
#
# TAG: cache_vary
#
# Этот тэг разрешает/запрещает кэшировать Vary заголовок. Если 'cache_vary' в
# значении off, то ответ содержащий Vary заголовок не будет кэширован.
#
#По умолчанию:
# cache_vary on
#
# TAG: broken_vary_encoding
#
# Этот тэг определяет запрещение использования ETag. Множество серверов
# неправильно работает с Content-Encoding "на лету", возвращая некоторый ETag в
# обоих вариантах - plain и gzip:ed. Использование этого тэга приводит к тому,
# что от Vary заголовка отделяется заголовок Accept-Encoding и он используется
# вместо полученного ETag.
#
# Apache mod_gzip и mod_deflate имеют проблемы с обработкой Content-Encoding "на
# лету", поэтому не будем доверять его ETag.
acl apache rep_header Server ^Apache
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all
broken_vary_encoding allow apache
#
# TAG: collapsed_forwarding (on|off)
#
# Этот тэг разрешает/запрещает множество запросов к некоторому URI, обработать
# как один запрос. Обычно запрещено во избежание увеличения задержки обработки
# динамического контента. Разрешение же несет в себе пользу только при
# включенном режиме accelerator, где веб-сервер является более надежным и
# возвращает в основном кэшированную информацию.
#
#По умолчанию:
# collapsed_forwarding off
#
# TAG: refresh_stale_hit (time)
#
# Этот тэг определяет время с момента устаревания объекта, втечение которого
# объект может быть взят из кэша(Cache Hits), пока он(объект)
# обновляется(заменяется на более новый). Другими словами, если объект ещё
# полностью не обновился в кэше, но его запросил клиент, то можно этот объект
# ему выдать из кэша, если прошло не более Х секунд с момента устаревания. По
# умолчанию, 0 - выключает эту возможность. Эта настройка более интересна
# только при использовании режима accelerator, при котором некоторые объекты
# запрашиваются очень часто.
#
#По умолчанию:
# refresh_stale_hit 0 seconds
#
# TAG: ie_refresh on|off
#
# Этот тэг включает/выключает поддержку старых версий IE(5.5 и ниже. А в 5.5
# SP1 это уже исправлено), которые не умеют работать с прозрачным
# проксированием. Точнее, проблема связана с невозможностью правильного
# refresh(Обновления) страницы. Включение поддержки позволяет решить эту
# проблему лишь частично, направляя все IMS-REFRESH запросы от старых версий IE
# к оригинальным серверам за свежим контентом. Т.е. частично пролетая кэш
# Squid. Это сокращает попадания в кэш(в моем опыте на ~10%), но позволяет
# пользователям иметь свежий контент тогда, когда они этого хотят. Помните,
# поскольку Squid не может отличить 5.5 от 5.5SP1, то с 5.5SP1 Squid будет
# дейстовать точно также как и с 5.5 и более старыми версиями. Новые версии IE,
# к счастью, ведут себя иначе, поэтому Squid может их распознать и действовать
# более эффективно.
#
#По умолчанию:
# ie_refresh off
#
# TAG: vary_ignore_expire on|off
#
# Этот тэг разрешает/запрещает игнорировать объекты без заголовка Cache-
# control. Многие HTTP сервера поддерживающие Vary выдают объекты, которые тут
# же(немедленно после отдачи) устаревают, без заголовка cache-control, когда
# объекта запрашивается клиентом HTTP/1.0. Этот тэг позволяет Squid
# игнорировать в таких случаях время устаревания объекта.
#
# ПРЕДУПРЕЖДЕНИЕ: Включение этой возможности, может привести к кэшированию тех
# объектов, для которых это не предназначено.
#
#По умолчанию:
# vary_ignore_expire off
#
# TAG: extension_methods
#
# Этот тэг позволяет добавить расширенные методы запросов. Squid понимает
# только стандартные HTTP методы запросов. Используя этот тэг вы можете
# добавить до 20 расширенных методов.
#
#По умолчанию:
# none
#
# TAG: request_entities
#
# Этот тэг разрешает/запрещает запрашивать объекты через GET и HEAD запросы.
# Squid по умолчанию блокирует GET и HEAD запросы с запросом объекта, т.к.
# такие запросы не определены в HTTP стандарте.
#
# Установите этот тэг в значение on если у вас есть клиенты, которым необходимо
# запрашивать объекты через GET и HEAD запросы. Но будьте осторожны потому, что
# такие запросы могут привести к ошибкам при обработке запросов, что сделает
# вас уязвимым к загрязнению кэша.
#
#По умолчанию:
# request_entities off
#
# TAG: header_access
#
# Использование: header_access header_name allow|deny [!]aclname ...
#
# ПРЕДУПРЕЖДЕНИЕ: Использование этой опции НАРУШАЕТ стандарт HTTP. Включая эту
# опцию, вы принимаете на себя ответственность за возможные
# проблемы.
#
# Этот тэг является заменой старого тэга 'anonymize_headers' и ещё более
# старого 'http_anonymizer'. Тэг header_access представляет больше возможностей
# для конфигурирования. Этот новый подход позволяет создавать ACL для каждого
# заголовка, позволяя произвести более точные искажения заголовков.
#
# Вы можете указать только известные заголовки в качестве имени
# заголовка(header_name). Другие заголовки классифицируются как 'Other'. Вы
# таже можете использовать слово 'All', для того, чтобы применить некоторое
# действие ко всем заголовкам.
#
# Например, чтобы сделать то, что раньше делала строка 'http_anonymizer
# standard' вам нужно вставить вот такие строки:
#
# header_access From deny all
# header_access Referer deny all
# header_access Server deny all
# header_access User-Agent deny all
# header_access WWW-Authenticate deny all
# header_access Link deny all
#
# Или, вместо строки 'http_anonymizer paranoid' теперь нужно ввести:
#
# header_access Allow allow all
# header_access Authorization allow all
# header_access WWW-Authenticate allow all
# header_access Proxy-Authorization allow all
# header_access Proxy-Authenticate allow all
# header_access Cache-Control allow all
# header_access Content-Encoding allow all
# header_access Content-Length allow all
# header_access Content-Type allow all
# header_access Date allow all
# header_access Expires allow all
# header_access Host allow all
# header_access If-Modified-Since allow all
# header_access Last-Modified allow all
# header_access Location allow all
# header_access Pragma allow all
# header_access Accept allow all
# header_access Accept-Charset allow all
# header_access Accept-Encoding allow all
# header_access Accept-Language allow all
# header_access Content-Language allow all
# header_access Mime-Version allow all
# header_access Retry-After allow all
# header_access Title allow all
# header_access Connection allow all
# header_access Proxy-Connection allow all
# header_access All deny all
#
# По умолчанию пропускаются все заголовки.
#
#По умолчанию:
# none
#
# TAG: header_replace
#
# Использование: header_replace header_name message
#
# Пример: header_replace User-Agent Nutscrape/1.0 (CP/M; 8-bit)
#
# Этот тэг позволяет вам изменять содержимое заголовков запрещенных через тэг
# header_access. Это происходит заменой содержимого заголовка на некоторую
# строку. Этот тэг заменяет старый тэг 'fake_user_agent'. Пример это наглядно
# демонстрирует. Но так можно поступить и с любым другим заголовком.
#
# По умолчанию, заголовки удаляются, если они запрещены через header_access.
#
#По умолчанию:
# none
#
# TAG: relaxed_header_parser on|off|warn
#
# Этот тэг разрешает/запрещает преобразовывать некорректно оформленные
# заголовки http сообщений.
#
# По умолчанию, «on» разрешает Squid принимать некоторые формы http сообщения
# оформленные не по стандарту, в которых понятно, какому приложению
# предназначено это сообщение. Затем сообщение преобразуется в корректную
# форму, после чего проходит через Squid к нужному адресату-приложению.
#
# Если установлено «warn», то при получении неправильно оформленного http
# сообщения будет делатся запись в cache.log.
#
# Если установлено «off», то неправильно оформленное http сообщение будет
# отклонено.
#
#По умолчанию:
# relaxed_header_parser on
#
# Секция: TIMEOUTS
# -----------------------------------------------------------------------------
#
# 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
#
# Этот тэг определяет как долго ожидать установления связи с кэшем соседского
# прокси. По умолчанию 30 секунд. Вы можете устанавливать для каждого
# соседского кэша, своё время ожидания связи. Для этого воспольуйтесь опцией
# 'connect-timeout' в тэге cache_peer.
#
#По умолчанию:
# peer_connect_timeout 30 seconds
#
# TAG: read_timeout time-units
#
# Этот тэг определяет как долго ожидать следующей операции read(), т.е. сколько
# времени дается серверу, чтобы он отправил клиенту следующую порцию данных.
# После того как клиент считал отправленную сервером информацию, он снова будет
# ожидать 'read_timeout' времени, в течение которого серверу необходимо
# отправить ещё порцию информации. Если клиент не получил нисколько данных от
# сервера по истечению 'read_timeout' времени, то исполнение запроса отменяется
# в связи с ошибкой ERR_READ_TIMEOUT. По умолчанию, 15 минут.
#
#По умолчанию:
# read_timeout 15 minutes
#
# TAG: request_timeout
#
# Этот тэг определяет как долго ожидать HTTP запроса после установления
# соединения с сервером.
#
#По умолчанию:
# request_timeout 5 minutes
#
# TAG: persistent_request_timeout
#
# Этот тэг определяет как долго ожидать следующего HTTP запроса в persistent
# соединении, после предыдущего исполненного запроса.
#
#По умолчанию:
# persistent_request_timeout 2 minutes
#
# TAG: client_lifetime time-units
#
# Этот тэг определяет как долго клиент(браузер) может быть подключен к Squid.
# Это защищает кэш от большого числа соединений удаленных клиентов, которые
# некорректно завершили сеанс связи и повисли в состоянии CLOSE_WAIT(ожидание
# закрытия соединения)(например, сбой в сети или некачественное программное
# обеспечение). По умолчанию, 1 день. 1 день равен 1440 минутам.
#
# ПРИМЕЧАНИЕ: Значение по умолчанию специально установлено достаточно большим,
# даже если столько времени клиент никогда не будет работать со
# Squid. Это сделано потому, что по истечению установленного
# времени, клиент отключается от Squid. При этом не важно, идет
# передача данных или нет. Если у вас возникла ситуация с
# множеством "не живых" клиентов, то изменять значение тэга
# 'client_lifetime' следует в последнюю очередь. Для начала мы
# рекомендуем обратить внимание на значение тэгов read_timeout,
# request_timeout, persistent_request_timeout и quick_abort.
#
#По умолчанию:
# client_lifetime 1 day
#
# TAG: half_closed_clients
#
# Этот тэг разрешает/запрещает использовать наполовину закрытые соединения. Это
# означает, например, записи нет, а чтение - есть. Иногда Squid не может
# различить наполовину закрытые TCP соединения с полностью закрытыми. По
# умолчанию, полузакрытые соединения остаются открытыми, до тех пор пока
# операции read(2) или write(2) с сокетом не возвращают ошибки. Измените
# значение этого тэга на 'off' и тогда Squid будет закрывать клиентские
# соединения, как только операция read(2) вернет "no more data to read"(Нет
# больше данных для чтения).
#
#По умолчанию:
# half_closed_clients on
#
# TAG: pconn_timeout
#
# Этот тэг определяет время persistent соединений с серверами и другими прокси.
#
#По умолчанию:
# pconn_timeout 1 minute
#
# TAG: ident_timeout
#
# Этот тэг определяет как долго ожидать завершения IDENT поиска.
#
# Если это значение слишком большое и у вас включен IDENT поиск для
# непроверенных(untrusted) клиентов, то вы можете получить множество отказов
# доступа к IDENT, т.к. много ident запросов будет приходить за раз.
#
#По умолчанию:
# ident_timeout 10 seconds
#
# TAG: shutdown_lifetime time-units
#
# Этот тэг определяет как долго обслуживать клиента после получения сигналов
# SIGTERM или SIGHUP. Любой активный клиент по прошествии 'shutdown_lifetime'
# получит сообщение 'timeout', мол, время вышло. И соединение закроется.
#
#По умолчанию:
# shutdown_lifetime 30 seconds
#
# Секция: ADMINISTRATIVE PARAMETERS
# -----------------------------------------------------------------------------
#
# TAG: cache_mgr
#
# Этот тэг определяет Email адрес на который будет отправлено сообщение, если
# Squid рухнет. По умолчанию, "webmaster".
#
#По умолчанию:
# cache_mgr webmaster
#
# TAG: mail_from
#
# Этот тэг определяет значение поля From: в письме, которое будет отправлено,
# если Squid рухнет. По умолчанию используется 'appname@unique_hostname'.
# По умолчанию 'appname' = "squid", и может быть изменено в src/globals.h перед
# сборкой squid.
#
#По умолчанию:
# none
#
# TAG: mail_program
#
# Этот тэг определяет программу, которая будет использоватся для отправки
# письма. По умолчанию, "mail". Указанная программа должна быть совместима со
# стандартным синтаксисом Unix mail:
#
# mail-program recipient < mailfile
#
# Дополнительно могут быть добавлены опции запуска mail программы:
#
#По умолчанию:
# mail_program mail
#
# TAG: cache_effective_user
#
# Этот тэг определяет пользователя, от имени которого будет запущен Squid если
# Squid запускаются из под root. И тогда реальные UID/GID будет заменены на
# UID/GID указанного пользователя. Если указать 'cache_effective_user', но не
# указать cache_effective_group, Squid установит GID от группы
# 'cache_effective_user' по умолчанию(берет её из файла паролей).
#
#По умолчанию:
# cache_effective_user squid
#
# TAG: cache_effective_group
#
# Этот тэг определяет группу, от имени которой будет запущен Squid. Это
# применяется, если вы хотите, чтобы GID был отличный от того, который
# использовался бы если группу не определять как группу по умолчанию для
# cache_effective_user. Тогда привилегии указанной группы, перекроют все
# привилегии пользователя.
#
#По умолчанию:
# none
#
# TAG: httpd_suppress_version_string on|off
#
# Этот тэг включает/выключает пресечение выдачи версии Squid в http заголовках
# и HTML страницах об ошибках
#
#По умолчанию:
# httpd_suppress_version_string off
#
# TAG: visible_hostname
#
# Этот тэг определяет имя хоста(hostname), которое будет отображатся в
# сообщениях об ошибках, и т.д. Если не указано, то будет использоваться
# возвращаемое значение функции gethostname(). Если у вас кластер кэшей и вы
# получаете ошибки связанные с IP форвардингом, то вы должны указать каждому
# кэшу индивидуальное имя, через этот тэг.
#
#По умолчанию:
# none
#
# TAG: unique_hostname
#
# Этот тэг определяет уникальное имя хоста(unique_hostname). Если у вас есть
# несколько машин с одинаковым visible_hostname, то вы должны дать каждой
# машине различные 'unique_hostname', чтобы форвардинг запросов проходил корректно.
#
#По умолчанию:
# none
#
# TAG: hostname_aliases
#
# Этот тэг определяет привязки(алиасы) к имени хоста, где расположен кэш.
# Другими словами, этот тэг позволяет определить список других DNS имен вашего
# прокси-сервера.
#
#По умолчанию:
# none
#
# TAG: umask
#
# Этот тэг определяет минимальный umask, который должен применятся в то время
# как прокси запущен, в дополнение к umask установленном при запуске.
#
# Примечание: Umask должен начинатся с 0.
#
# Примечание break-people.ru: umask (от англ. user file creation mode mask -
# маска режима создания пользовательских файлов) -
# функция среды POSIX, изменяющая права доступа,
# которые присваиваются новым файлам и директориям
# по умолчанию. Права доступа файлов, созданных при
# конкретном значении umask, вычисляются при помощи
# следующих побитовых операций (umask обычно
# устанавливается в восьмеричной системе
# счисления). Взято с http://ru.wikipedia.org/wiki/Umask.
#
#
#По умолчанию:
# umask 027
#
# Секция: CACHE REGISTRATION SERVICE
# -----------------------------------------------------------------------------
#
# Эта секция предназначена для тех, кто хочет зарегистрировать свой прокси на
# трекере. Это может применятся для выстраивания иерархии кэшей. Для этого
# нужно настроить некоторые параметры этой секции и ваши данные будут
# опубликованы на трекере. По умолчанию, никаких данных от вашего прокси не
# отсылается, так, что если вам кажется, что кто-то неправомерно пользуется
# вашим прокси, то следует смотреть прежде всего в ACL.
#
# Примечание http://break-people.ru: Мы проверили трекер. В открытую там данных
# не лежит, соответственно публичный прокси
# никто из вашего прокси не сделает. Видимо,
# зарегистрировав свой кэш на трекере вы
# получаете некоторое место в их иерархии
# кэшей. Зачем это нужно, пока не понятно,
# ведь все равно за входящий траффик
# придется платить. Возможно, это для
# сокращения маршрута следования траффика.
#
# Отправляемые данные содержат hostname(имя хоста) и некоторую информацию из
# этого конфигурационного файла:
#
# http_port
# icp_port
# cache_mgr
#
# Всю текущую информацию вы можете просмотреть по адресу
# http://www.ircache.net/Cache/Tracker.
#
# TAG: announce_period
#
# Этот тэг определяет как часто отсылать информацию о вашем кэше. По умолчанию,
# 0, что означает - не отсылать никогда.
#
#По умолчанию:
# announce_period 0
#
# Для включения возможности отправления информации о вашем кэше на трекер, раскомментируйте
# строку ниже:
#announce_period 1 day
#
# TAG: announce_host
# TAG: announce_file
# TAG: announce_port
# Тэги announce_host и announce_port определяют имя хоста(hostname) и порт
# регистрационного сервиса(трекера).
#
# Hostname по умолчанию 'tracker.ircache.net', а порт 3131. Если ввести
# 'filename' в тэг 'announce_file', то данные этого файла также будут
# присоединены к отправляемым данным.
#
#По умолчанию:
# announce_host tracker.ircache.net
# announce_port 3131
#
# Секция: HTTPD-ACCELERATOR
# -----------------------------------------------------------------------------
#
# TAG: httpd_accel_no_pmtu_disc on|off
#
# В тех случаях, когда устройство перехватывающее траффик не способно полностью
# следить за подключениями и выдает ошибки при форвардинге ICMP запросов, то
# сообщения к прокси серверу доходят не целиком, а фрагментами.
#
# Если у вас ситуация, когда некоторые клиенты время от времени обрывают
# соединение или никогда не дожидаются полного исполнения запроса, то
# установите значение этого тэга в «on»
#
#По умолчанию:
# httpd_accel_no_pmtu_disc off
#
# Секция: DELAY POOL PARAMETERS
# -----------------------------------------------------------------------------
#
#Примечание break-people.ru: В переводе, мы не будем переводить словосочетание
# delay pool. Но договоримся, что оно будет означать -
# пул задержки, бассейн, пул, полоса. Это сделано для
# того, чтобы по тексту не возникало путаницы, при
# использовании нами различных переводов этого
# словосочетания. Ведь помимо перевода самого текста,
# мы стараемся сделать так, чтобы текст был понятным и
# читабельным. Надеемся, на ваше понимание.
#
# TAG: delay_pools
#
# Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией
# --enable-delay-pools
#
# Этот тэг отвечает за количество используемых delay pools. Например, если у
# вас есть один delay pool класса 2 и один delay pool класса 3, то вцелом вы
# имеете 2 delay pool. Соответственно, в этом случае, тэгу следует задать
# значение равное 2.
#
#По умолчанию:
# delay_pools 0
#
# TAG: delay_class
#
# Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией
# --enable-delay-pools
#
# Этот тэг определяет класс для каждого delay pool. По одному тэгу, на одну
# строку. Например, для определения двух delay pool, один из которых будет
# класса 2, а другой - класса 3, ваши настройки будут выглядеть следующем
# образом:
#
#Пример:
# delay_pools 2 # 2 delay pool
# delay_class 1 2 # первый delay pool класса 2
# delay_class 2 3 # второй delay pool класса 3
#
#Примечание break-people.ru: Помимо того, что мы не будем переводить
# словосочетание delay pool, ещё останется без перевода
# слово bucket. Под ним мы часто подразумевают прямой
# перевод - «ведро». Хотя абстракция ведра не совсем
# корректна. Мы предлагаем иную абстракцию - «воронка».
# С широкой стороны стоит Squid, а с узкой - клиент.
# Форма и размеры воронки регулируются некоторыми
# параметрами. Соответственно, если Squid "льет"
# информацию в воронку, значит клиент может её
# получить. Если в воронке пусто, то клиент ничего не
# получает. Если Squid заливает в воронку быстрее, чем
# клиент успевает считывать, то воронка наполнится до
# краев. И заливатся будет тогда, когда освободится
# место в воронке. Крайний случай, когда оба конца
# воронки - одинаковы по размеру. Тогда весь поток,
# который Squid закачивает в воронку, с той же
# скоростью он(поток) считывается клиентом. А запросы к
# серверу идут безо всяких ведер или воронок. НО
# запросы не поступят в обработку, пока не освободится
# место в воронке, т.е. какой смысл Squid закачивать
# что-то, если это некуда положить.
#
# Классы delay pool:
#
# class 1 Одна воронка, на всех.
#
# class 2 Одна большая общая воронка для «C» сети и по
# одной(индивидуальной) маленькой воронке на каждый хост(биты
# с 25 по 32; т.е. 255 маленьких воронок).
#
# class 3 255 больших воронок для каждой «C» сети(так называемая,
# сетевая(network) воронка; биты с 17 по 24; т.е. 255 больших
# воронок) и по одной маленькой воронке на каждый хост.
#
# ПРИМЕЧАНИЕ: Если IP адрес представить как a.b.c.d, то:
#
# -> биты с 25 по 32 это класс "d"
# -> биты с 17 по 24 это класс "c"
# -> биты с 17 по 32 это "c * 256 + d"
#
#По умолчанию:
# none
#
# TAG: delay_access
#
# Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией
# --enable-delay-pools
#
# Этот тэг позволяет определить попадание пользователей в некоторый delay pool,
# на основе ACL.
#
# Проверка попадания запроса в delay pool, идет по порядку - с первого delay
# pool по N-ый delay pool. Если запрос попал в какой-либо delay pool, согласно
# ACL, то проверка прекращается. Если запрос НЕ попадает, ни в один delay pool,
# то он не задерживаясь идет напрямую к клиенту(по умолчанию).
#
# Например, если вы хотите, чтобы одни клиенты шли через delay pool 1, а другие
# через delay pool 2, то вам необходимо определить соответствующие ACL.
# Например, этими ACL будут some_big_clients и lotsa_little_clients. Тогда,
# чтобы исполнить поставленную задачу, вам следует ввести следующие строки:
#
#Пример:
# delay_access 1 allow some_big_clients
# delay_access 1 deny all
# delay_access 2 allow lotsa_little_clients
# delay_access 2 deny all
#
#По умолчанию:
# none
#
# TAG: delay_parameters
#
# Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией
# --enable-delay-pools
#
# Этот тэг позволяет установить параметры для некоторого delay pool. Каждый
# delay pool имеет некоторое количество воронок, используемое им. Количество
# этих воронок определяется тэгом delay_class с установкой нужного класса delay
# pool.
#
# Синтаксис ввода параметров для первого класса(class 1):
#
#delay_parameters pool aggregate
#
# Синтаксис ввода параметров для второго класса(class 2):
#
#delay_parameters pool aggregate individual
#
# Синтаксис ввода параметров для третьего класса(class 3):
#
#delay_parameters pool aggregate network individual
#
# где:
#
# pool номер delay pool. Т.е число между 1 и максимальным количеством
# delay pool для заданного класса(delay_class).
#
# aggregate параметры для (единственной; общей)воронки(class 1, 2, 3).
#
# individual параметры для маленькой(индивидуальной) воронки(class 2, 3).
#
# network параметры для сетевой(network) воронки(class 3).
#
# Параметры представляют собой пару чисел записанных в формате restore/maximum.
#
# Где restore означает количество байтов(!!!) в секунду, которые будут
# "вливатся" в воронку, а maximum это объем воронки, т.е. максимальное
# количество байтов(не битов!!! Скорость на модемах часто пишется в битах),
# которое можно "влить" в неё.
#
#Примечание break-people.ru: Большое количество восклицательных знаков
# проставленное в предыдущем абзаце, обязывает пояснить
# для тех кто не понял, и тех кто в танке, зачем это
# сделано. Параметры для воронок устанавливаются в
# БАЙТАХ. Скорость модемов/сетевых карт измеряется в
# БИТАХ/КИЛОБИТАХ/МЕГАБИТАХ. Провайдер дает Интернет
# указывая скорость в БИТАХ/КИЛОБИТАХ/МЕГАБИТАХ. Поэтому
# при выставлении параметров эту разницу следует
# учитывать. Например, чтобы ограничить скорость
# закачивания в воронку на уровне 64 КИЛОБИТ в секунду,
# а размер воронки ограничить на уровне 128 КИЛОБИТ, то
# переводя в байты получим 64000 / 8 = 8000 байт.
# Помним, что 64 КИЛОБИТ это 64 * 1000 = 64000 БИТ. По
# той же схеме 128000 / 8 = 16000 байт. Используя
# полученные данные записываем delay_parameters 1
# 8000/16000. Вот и всё.
#
# Например, если вы хотите, чтобы delay pool номер 1, второго класса(class 2)
# использовался для ограничения скорости в 64 Килобит/с для каждого хоста, то
# параметры этого delay pool будут следующие:
#
#delay_parameters 1 -1/-1 8000/8000
#
# Помните, что число -1 используется для установки значения "без
# ограничений"(unlimited)
#
# Или, если вы хотите, чтобы delay pool номер 2 третьего класса(class 3)
# использовался для:
#
# 1) Ограничение общего канала «C» сети, по скорости на уровне 256 килобит/с;
# 2) Каждая подсеть сети имеет ограничение по скорости на уровне 64 килобит/с;
# 3) Каждый хост подсети имеет ограничение по скорости на уровне 4800 бит/с с
# максимальным объемом воронки в 64 килобита. Это позволит нормально
# просматривать веб-страницы и тормозить большие закачки.
#
# Решение для поставленной задачи выглядит следующим образом:
#
#delay_parameters 2 32000/32000 8000/8000 600/8000
#
# Если не понял как это получилось, прочти наше примечание выше.
#
# Для одного delay pool может использоваться только один тэг delay_parameters.
#
#По умолчанию:
# none
#
# TAG: delay_initial_bucket_level (в процентах, 0-100)
#
# Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией
# --enable-delay-pools
#
# Этот тэг определяет степень наполненности воронки, в процентах, прежде чем
# клиент сможет с ней(воронкой) работать. Это необходимо потому, что воронки
# будут пустыми при запуске Squid, перезапуске Squid или при первом обращении
# клиента к этой воронке. В классах 2 и 3(class 2, class 3) индивидуальные
# хосты и сети получают свои воронки только тогда, когда Squid "увидит" их.
# Т.е. хост или сеть обратятся с запросом к Squid.
#
#По умолчанию:
# delay_initial_bucket_level 50
#
# WCCPv1 AND WCCPv2 CONFIGURATION OPTIONS
# -----------------------------------------------------------------------------
#
# TAG: wccp_router
# TAG: wccp2_router
#
# Эти тэги позволяют определить местоположение вашего WCCP 'home' роутера. То есть
# указать IP адрес вашего WCCP роутера.
#
# Тэг wccp_router поддерживает работу только с одним WCCP(v1) роутером
#
# Тэг wccp2_router поддерживает работу с несколькими WCCPv2 роутерами
#
# Только один из этих тэгов может использоваться. Либо wccp_router, либо wccp2_router.
# Использование обоих тегов в один и тот же момент, может привести к ошибкам.
#
#По умолчанию:
# wccp_router 0.0.0.0
#
# TAG: wccp_version
#
# Этот тэг позволяет определить используемую версию протокола. Обычно этот тэг
# необходим, в случае, если вам нужно настроить WCCP(v1) на работу с очень старыми
# Cisco роутерами. Во всех остальных случаях, следует оставить этот тэг в значении по
# умолчанию.
#
# Помните, Cisco IOS 11.2 и более ранние поддерживают только третью версию WCCP. Если
# это ваш случай, то вам необходимо изменить значение этого тэга на цифру 3, в
# остальных случаях, не изменяйте этот параметра.
#
#По умолчанию:
# wccp_version 4
#
# TAG: wccp2_rebuild_wait
#
# Если этот тэг в значении 'on', тогда Squid будет ожидать завершения создания кэш
# директории, прежде чем отправить первый wccp2 пакет 'HereIAm'(Я здесь). Этот пакет
# сигнализирует WCCP роутеру о том, что Squid готов начать работу с ним.
#
#По умолчанию:
# wccp2_rebuild_wait on
#
# TAG: wccp2_forwarding_method
#
# Этот тэг устанавливает используемый метод WCCP2 форвардинга. Возможные значения:
#
# 1 - GRE инкапсуляция (форвардинг пакета через GRE/WCCP туннель)
# 2 - L2 редирект (форвардинг пакета используя перезапись Layer 2/MAC)
#
# Современные (такие как IOS 12.4) Cisco роутеры поддерживают только GRE.
# Cisco свитчи поддерживают только L2 метод.
#
#По умолчанию:
# wccp2_forwarding_method 1
#
# TAG: wccp2_return_method
#
# Этот тэг устанавливает используемый метод WCCP2 возврата(возможно, ответа). Возможные
# значения:
#
# 1 - GRE инкапсуляция (форвардинг пакета через GRE/WCCP туннель)
# 2 - L2 редирект (форвардинг пакета используя перезапись Layer 2/MAC)
#
# Современные (такие как IOS 12.4) Cisco роутеры поддерживают только GRE.
# Cisco свитчи поддерживают только L2 метод.
#
# Если команда "ip wccp redirect exclude in" включена на кэширующем интерфейсе, тогда
# прокси сервер будет использовать L2 метод, даже если этот тэг настроен на работу с
# GRE.
#
#По умолчанию:
# wccp2_return_method 1
#
# TAG: wccp2_assignment_method
#
# Этот тэг устанавливает используемый метод определения WCCP хэша. Возможные значения:
#
# 1 - Hash assignment
# 2 - Mask assignment
#
# Cisco роутеры поддерживают метод hash assignment.
# А Cisco свитчи поддерживают метод mask assignment.
#
#По умолчанию:
# wccp2_assignment_method 1
#
# TAG: wccp2_service
#
# Этот тэг позволяет настраивать маркировку траффик сервисов. Сервисы различаются по
# типам. Сервису может быть назначен один из двух типов: "standard" или "dynamic".
# Тип standard позволяет работать только с одной маркировкой(один id), т.е. только один
# сервис - http (id 0).
# Тип dynamic позволяет работать с несколькими сервисами(используя различные маркировки
# - id) присваивая им(маркируя их) числами из диапазона - c 51 по 255 включительно. Для
# использования типа dynamic, первый id должен определять тип траффика для редиректа;
# Это настраивается через директиву wccp2_service_info.
#
# При использовании типа "standard", необязательно настраивать директиву
# wccp2_service_info.
#
# Сервис MD5 аутентификации может быть включен, добавлением "password=<password>" в
# конец директивы определения сервиса.
#
# Примеры:
#
# wccp2_service standard 0 # для standard сервиса 'web-cache'
# wccp2_service dynamic 80 # для dynamic сервиса, который должен быть
# конкретизирован дополнительными опциями
# wccp2_service standard 0 password=foo
#
#По умолчанию:
# wccp2_service standard 0
#
# TAG: wccp2_service_info
#
# Этот тэг позволяет определить дополнительные опции для dynamic сервисов. Динамические
# WCCPv2 сервисы требуют дополнительные опции для того, чтобы точнее определить
# траффик(правильно маркировать), который вы хотите перенаправить(редиректить).
#
# Формат записи:
#
# wccp2_service_info <id> protocol=<protocol> flags=<flag>,<flag>..
# priority=<priority> ports=<port>,<port>..
#
# Флаги WCCPv2:
# + src_ip_hash, dst_ip_hash
# + source_port_hash, dst_port_hash
# + src_ip_alt_hash, dst_ip_alt_hash
# + src_port_alt_hash, dst_port_alt_hash
# + ports_source
#
# Список портов(ports) может содержать от одного до восьми значений.
#
# Пример:
#
# wccp2_service_info 80 protocol=tcp flags=src_ip_hash,ports_source priority=240 ports=80
#
# Помните: id сервиса, должно быть сначала определено директивой
# 'wccp2_service dynamic <id>'.
#
#По умолчанию:
# none
#
# TAG: wccp2_weight
#
# Этот тэг позволяет настроить вес кэширующего сервера. Это необходимо для алгоритмов
# прохождения по кэшам в поиске нужной информации. Вес должен быть обратно
# пропорционален удаленности кэш-сервера. Чем ближе распологается кэш-сервер, тем
# больше должен быть его вес.
#
#По умолчанию:
# wccp2_weight 10000
#
# TAG: wccp_address
# TAG: wccp2_address
#
# Этот тэг позволяет установить IP адрес WCCP сервера. Используйте этот тэг, если вы
# работаете с WCCP через нестандартный адрес интерфейса.
#
# По умолчанию не установлен никакой конкретный адрес.
#
#По умолчанию:
# wccp_address 0.0.0.0
# wccp2_address 0.0.0.0
#
# Секция: PERSISTENT CONNECTION HANDLING
# -----------------------------------------------------------------------------
#
# Смотрите также директиву "pconn_timeout" в секции TIMEOUTS.
#
#Примечание http://break-people.ru: В этой секции мы не переводим слово persistent. Так как
# сложно точно определить, что это за соединения такие.
# Мы будем подразумевать под persistent соединениями,
# постоянные соединения.
#
# TAG: client_persistent_connections
# TAG: server_persistent_connections
#
# Эти тэги включают/выключают поддержку Persistent соединений с клиентами и серверами
# соответственно. По умолчанию, Squid использует persistent соединения(когда разрешено)
# с клиентами и серверами. Вы можете использовать это тэг, чтобы выключить поддержку
# persistent соединений с клиентами и/или серверами.
#
#По умолчанию:
# client_persistent_connections on
# server_persistent_connections on
#
# TAG: persistent_connection_after_error
#
# Этот тэг разрешает/запрещает использовать persistent соединения после возникновения
# HTTP ошибки. Если этот тэг в значении «off», значит, после возникновения HTTP ошибки,
# Squid перестанет использовать persistent соединение с этим клиентом.
#
#По умолчанию:
# persistent_connection_after_error off
#
# TAG: detect_broken_pconn
#
# Этот тэг позволяет включить/выключить функцию Squid, которая служит для определения
# некорректного persistent соединения. Некоторые сервера неправильно обрабатывают
# HTTP/1.0 persistent соединения и это создает значительные задержки. Такая проблема
# обычно возникает при редиректах.
#
# Установка значения этого тэга в «on», разрешит Squid определять некорректные
# persistent соединения и завершать их после 10 секундного таймаута.
#
#По умолчанию:
# detect_broken_pconn off
#
# Секция: CACHE DIGEST
# -----------------------------------------------------------------------------
#
#Примечание break-people.ru: Cache Digest это сборник информации об имеющихся данных в кэше
# представленный в виде ключей(хэшей). Это удобно для поиска
# информации в кэшах других прокси серверов. Общение выглядит
# так - прокси сервер А, запрашивает у прокси сервера Б
# информацию, мол, у тебя есть что-нибудь об объекте, ключ для
# которого N? Если есть - дай мне, а я пользователю покажу. Но
# чтобы, прокси могли общатся между собой, нужно настроить ICP.
#
# TAG: digest_generation
#
# Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией
# --enable-cache-digests
#
# Этот тэг определяет генерировать или нет Cache Digest.
#
#По умолчанию:
# digest_generation on
#
# TAG: digest_bits_per_entry
#
# Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией
# --enable-cache-digests
#
# Этот тэг определяет количество битов на одну Digest запись. Запись представляет собой
# информацию о HTTP методе и URL(публичные ключи; т.е. метод + URL пропущенные через
# MD5. Например, для метода GET и URL = www.w3.org, ключом будет
# e06a56257d8879d9e968e83f2ded3df7; Передается ключ, а не URL). По умолчанию 5. Это
# означает, что ключ будет ограничен 32 символами, т.к. 2 в степени 5 = 32.
#
#По умолчанию:
# digest_bits_per_entry 5
#
# TAG: digest_rebuild_period (seconds)
#
# Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией
# --enable-cache-digests
#
# Этот тэг устанавливает временной промежуток между пересозданием Cache Digest.
#
#По умолчанию:
# digest_rebuild_period 1 hour
#
# TAG: digest_rewrite_period (seconds)
# Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией
# --enable-cache-digests
#
# Этот тэг устанавливает временной промежуток между записью Cache Digest на диск. Имеет
# смысл понять то, что записывать на диск одно и то же не особо нужно. Поэтому значения
# тэгов digest_rebuild_period и digest_rewrite_period должны быть более менее схожи
# друг с другом. То есть, создан новый Cache Digest - можно его и записать на диск.
#
#По умолчанию:
# digest_rewrite_period 1 hour
#
# TAG: digest_swapout_chunk_size (bytes)
#
# Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией
# --enable-cache-digests
#
# Этот тэг устанавливает размер порции данных для записи на диск одномоментно. По
# умолчанию Squid записывает информацию Cache Digest, порциями по 4096 байтов(4
# килобайта).
#
#По умолчанию:
# digest_swapout_chunk_size 4096 bytes
#
# TAG: digest_rebuild_chunk_percentage (percent, 0-100)
# Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией
# --enable-cache-digests
#
# Этот тэг устанавливает процент считывания Cache Digest за один момент. По умолчанию,
# определено значение равное 10%.
#
#По умолчанию:
# digest_rebuild_chunk_percentage 10
#
# Секция: SNMP
# -----------------------------------------------------------------------------
#
# TAG: snmp_port
#
# Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией
# --enable-snmp option
#
# Этот тэг определяет порт SNMP для Squid. По умолчанию, порт - 3401. Если вы не хотите
# использовать SNMP, установите значение тэга в "0", без кавычек.
#
#По умолчанию:
# snmp_port 3401
#
# TAG: snmp_access
#
# Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией
# --enable-snmp option
#
# Этот тэг позволяет разрешить или запретить доступ, к SNMP агенту Squid, на основе
# ACL.
#
# По умолчанию, весь доступ к SNMP агенту запрещен.
#
# Использование:
#
# snmp_access allow|deny [!]aclname ...
#
#Пример:
# snmp_access allow snmppublic localhost
# snmp_access deny all
#
#По умолчанию:
# snmp_access deny all
#
# TAG: snmp_incoming_address
#
# Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией
# --enable-snmp option
#
# TAG: snmp_outgoing_address
#
# Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией
# --enable-snmp option
#
# snmp_incoming_address использует SNMP сокет для приема сообщений по SNMP.
#
# snmp_outgoing_address использует SNMP сокет для отправки пакетов по SNMP.
#
# По умолчанию, установлено snmp_incoming_address (0.0.0.0). Это означает, что Squid
# слушет порт 3401, на всех доступных сетевых интерфейсах системы.
#
# Если тэг snmp_outgoing_address установлен в значение 255.255.255.255 (по умолчанию),
# то это означает, что будет использоватся тот же сокет(адрес) для отправки пакетов,
# который используется для приема пакетов (установленный в тэге snmp_incoming_address).
# Если вы хотите, чтобы ответы отправлялись через другой адрес, то используйте этот
# тэг.
#
# Помните, тэги snmp_incoming_address и snmp_outgoing_address не могут иметь одинаковые
# значение, т.к. они оба используют один и тот же порт.
#
#По умолчанию:
# snmp_incoming_address 0.0.0.0
# snmp_outgoing_address 255.255.255.255
#
# Секция: ICP OPTIONS
# -----------------------------------------------------------------------------
#
# TAG: icp_port
#
# Этот тэг определяет номер порта, который Squid будет использовать для отправки и
# приёма ICP запросов к соседским кэшам и от них. По умолчанию, номер порта 3130. Чтобы
# выключить использование ICP, установите значение этого тэга в "0", без кавычек.
#
#По умолчанию:
# icp_port 3130
#
# TAG: htcp_port
#
# Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией
# --enable-htcp option
#
# Этот тэг определяет номер порта, который Squid будет использовать для отправки и
# приёма HTCP запросов к соседским кэшам и от них. По умолчанию, номер порта 4827.
# Чтобы выключить использование HTCP, установите значение этого тэга в "0", без
# кавычек.
#
#По умолчанию:
# htcp_port 4827
#
# TAG: log_icp_queries on|off
#
# Этот тэг включает/выключает запись ICP запросов в журнал. Если тэг в значении "on",
# то запись будут проивзодится в журнал access.log. Если в "off" - запись не будет
# производится. Возможно, вам захочется отключить эту возможность, если к вашему прокси
# поступает ОЧЕНЬ много запросов, что затрудняет чтение и анализ логов в последующем.
#
#По умолчанию:
# log_icp_queries on
#
# TAG: udp_incoming_address
#
# Этот тэг определяет адрес на котором, Squid будет принимать UDP пакеты от соседских
# кэшей.
#
# По умолчанию, Squid слушает на всех доступных в системе сетевых интерфейсах.
#
# Если вам необходимо, чтобы Squid принимал все UDP пакеты на каком-то определенном
# адресе, то используйте этот тэг для указания его(адреса).
#
# ПРИМЕЧАНИЕ: Тэг udp_incoming_address используется модулями ICP, HTCP, и DNS
# Изменение значения этого тэга, затронет их(модули ICP, HTCP и DNS).
#
# смотри также: udp_outgoing_address
#
# Помните, udp_incoming_address и udp_outgoing_address не могут иметь одинаковые
# значения, так как они оба используют один и тот же порт.
#
#По умолчанию:
# udp_incoming_address 0.0.0.0
#
# TAG: udp_outgoing_address
#
# Этот тэг определяет адрес от которого, Squid будет отправлять UDP пакеты к соседским
# кэшам.
#
# По умолчанию, не установлен какой-то конкретный адрес.
#
# Если тэг udp_outgoing_address установлен в значение 255.255.255.255 (по умолчанию),
# то это означает, что будет использоватся тот же сокет(адрес) для отправки пакетов,
# который используется для приема пакетов (установленный в тэге udp_incoming_address).
# Если вы хотите, чтобы пакеты отправлялись через другой адрес, то используйте этот
# тэг.
#
# ПРИМЕЧАНИЕ: Тэг udp_ outgoing _address используется модулями ICP, HTCP, и DNS
# Изменение значения этого тэга, затронет их(модули ICP, HTCP и DNS).
#
# смотри также: udp_incoming_address
#
# Помните, udp_incoming_address и udp_outgoing_address не могут иметь одинаковые
# значения, так как они оба используют один и тот же порт.
#
#По умолчанию:
# udp_outgoing_address 255.255.255.255
#
# TAG: icp_hit_stale on|off
#
# Этот тэг разрешает/запрещает отправку ICP_HIT для устаревших объектов кэша. Если вы
# хотите, чтобы возвращалось ICP_HIT для устаревших объектов, то установите значени
# этого тэга в "on". Если у вас настроена связь с соседскими прокси в других
# административных доменах, то значение этого тэга должно быть в "off". Если вы один,
# управляете всеми соседскими кэшами, тогда можно установить этот тэг в "on". Если
# значение этого тэга "on", то соседские прокси должны использовать опцию 'allow-miss'
# в тэге cache_peer для вашего кэша.
#
#По умолчанию:
# icp_hit_stale off
#
# TAG: minimum_direct_hops
#
# Этот тэг определяет минимальное количество прыжков(hops) до соседского кэша. Если
# количество прыжков(при использовании ICMP ping) до соседского кэша будет больше
# указанного в этом тэге числа, то сайт будет браться напрямую(direct). Это может быть
# полезно, если соседский прокси, имеющий нужную информацию, находится далеко. В таком
# случае, если до него количество прыжков до него больше, чем установлено в этом тэге,
# то необходимая информация(сайт) будет братся напрямую из Интернет.
#
#По умолчанию:
# minimum_direct_hops 4
#
# TAG: minimum_direct_rtt
#
# Этот тэг определяет минимальное время отклика от соседского кэша. Если время отклика
# от соседского кэша(при использовании ICMP ping) будет больше указанного в этом тэге,
# то необходимая информация(сайт) будет браться напрямую из Интернет. Это может быть
# полезно, если соседский прокси, имеющий нужную информацию, находится далеко. В таком
# случае, если его время отклика больше, чем установлено в этом тэге, то необходимая
# информация(сайт) будет братся напрямую из Интернет.
#
#По умолчанию:
# minimum_direct_rtt 400
#
# TAG: netdb_low
# TAG: netdb_high
#
# Эти тэги задают нижнюю и верхнюю границы количества записей для базы данных измерения
# ICMP, соответственно. В этой базе хранятся данные о произведенных ping'ах(время
# затраченное на доступ и количество прыжков). Указывается в цифрах! Не в процентах!.
# По умолчанию, 900 и 1000, соответственно. Как только будет достигнута верхняя
# граница(накопится 1000 записей), то Squid согласно некоторым правилам(устаревшие
# записи и т.п.), начнет удалять записи из netdb. Он будет удалять их до тех пор, пока
# их количество не станет равным нижней границе(пока не станет 900 записей). При других
# цифрах логика та же, т.к. пример приведен для значений по умолчанию.
#
#По умолчанию:
# netdb_low 900
# netdb_high 1000
#
# TAG: netdb_ping_period
#
# Этот тэг устанавливает минимальный промежуток времени между ping'ами в одну и ту же
# сеть. По умолчанию, промежуток составляет 5 минут.
#
#По умолчанию:
# netdb_ping_period 5 minutes
#
# TAG: query_icmp on|off
#
# Этот тэг определяет будут ли включать или нет ICMP данные в ICP запросы, ваши соседи.
#
# Если ваши соседские прокси скомпилированы с опцией '--enable-icmp', то они будут
# включать в ICMP данные, информацию об ICMP ping'ах до того веб-сервера, чей URL был
# запрошен вашим прокси. Если вы установите значение этого тэга в "on", то в ICP ответы
# от соседей будет включена и ICMP информация(если таковая есть). Затем, Squid выберет
# соседский кэш, до которого будет минимальное время отклика, и назначит его для себя
# родительским. Такой родительский кэш, будет обозначатся в журнале access.log, в поле
# hierarchy(Иерарахия), как "CLOSEST_PARENT_MISS"(Ближайший родительский кэш). По
# умолчанию, этот тэг установлен в значение "off".
#
#По умолчанию:
# query_icmp off
#
# TAG: test_reachability on|off
#
# Это тэг определяет, будет ли заменятся ответ ICP_MISS на ICP_MISS_NOFETCH. Если
# значение тэга установлено в "on", то будет происходить замена ICP_MISS на
# ICP_MISS_NOFETCH, когда запрашиваемого хоста НЕТ в ICMP базе или его время отклика
# равно нулю.
#
#По умолчанию:
# test_reachability off
#
# TAG: icp_query_timeout (msec)
#
# Этот тэг определяет время таймаута(как долго ожидать ответа) для(от) соседей. Обычно,
# Squid сам неплохо, автоматически определяет оптимальное время таймаута ICP запроса.
# Если вы хотите это изменить, то установите значение этого тэга в любое ненулевое
# значение. Это значение должно устанавливатся в МИЛЛИСЕКУНДАХ. Это означает, что для
# записи таймаута в 2 секунды, нужно записать 2000, т.к. 2000 миллисекунд, равны 2
# секундам. Например:
#
# icp_query_timeout 2000
#
#По умолчанию:
# icp_query_timeout 0
#
# TAG: maximum_icp_query_timeout (msec)
#
# Этот тэг определяет максимальный таймаут(как долго ожидать ответа) для(от) соседей.
# Обычно таймаут ICP запроса определяется динамически. Но иногда на это затрачивается
# очень большое время(скажем, 5 секунд). Используйте этот тэг для установки верхней
# границы таймаута ICP запроса. НЕ используйте этот тэг для установки фиксированного
# времени таймаута! Для установки фиксированного времени таймаута используйте тэг
# icp_query_timeout.
#
#По умолчанию:
# maximum_icp_query_timeout 2000
#
# TAG: minimum_icp_query_timeout (msec)
#
# Этот тэг определяет минимальный таймаут(как долго ожидать ответа) для(от) соседей.
# Обычно таймаут ICP запроса определяется динамически. Но иногда на это затрачивается
# очень малое время, даже меньше чем требует того установление соединения с сервером.
# Используйте этот тэг для установки нижней границы таймаута ICP запроса. НЕ
# используйте этот тэг для установки фиксированного времени таймаута! Для установки
# фиксированного времени таймаута используйте тэг icp_query_timeout.
#
#По умолчанию:
# minimum_icp_query_timeout 5
#
# Секция: MULTICAST ICP
# -----------------------------------------------------------------------------
#
# TAG: mcast_groups
#
# Этот тэг позволяет определить список multicast групп, к которым может подключатся ваш
# сервер для получения ICP запросов.
#
# ПРИМЕЧАНИЕ! Будьте очень осторожны при настройке этого тэга! Вы должны быть уверены,
# что понимаете разницу между ICP _query_ (ICP _запрос_) и ICP _reply_ (ICP
# _ответ_). Этот тэг следует использовать только если вы хотите ПРИНИМАТЬ
# multicast запросы. НЕ используйте этот тэг для рассылки multicast ICP
# (вместо этого, используйте cache_peer). ICP ответы всегда отправляются
# через unicast, так что изменение этого тэга либо не будет иметь эффекта,
# либо вы будет получать ответы от членов multicast группы.
#
# НЕ используйте multicast адрес, который уже используется другой multicast группой.
#
# Если вы не уверены в том, нужен ли вам multicast, то вы можете получить
# дополнительную информацию о нём в Squid FAQ в главе Multicast (http://www.squid-
# cache.org/FAQ/).
#
# Использование: mcast_groups 239.128.16.128 224.0.1.20
#
# По умолчанию, Squid не слушает multicast группы.
#
#По умолчанию:
# none
#
# TAG: mcast_miss_addr
#
# Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией
# --enable-multicast-miss
#
# Этот тэг определяет адрес на который будет отсылатся каждый "cache miss" URL.
#
# Не используте этот тэг, если вы не понимаете его предназначения.
#
#По умолчанию:
# mcast_miss_addr 255.255.255.255
#
# TAG: mcast_miss_ttl
#
# Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией
# --enable-multicast-miss
#
# Этот тэг определяет TTL(time-to-live; время жизни) для исходящих "cache miss"
# multicast пакетов. По умолчанию, 16.
#
#По умолчанию:
# mcast_miss_ttl 16
#
# TAG: mcast_miss_port
#
# Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией
# --enable-multicast-miss option
#
# Этот тэг устанавливает номер порта для адреса, определенного в тэге
# mcast_miss_addr.
#
#По умолчанию:
# mcast_miss_port 3135
#
# TAG: mcast_miss_encode_key
#
# Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией
# --enable-multicast-miss option
#
# Этот тэг определяет ключ для шифрования URL в multicast пакетах "cache miss".
#
#По умолчанию:
# mcast_miss_encode_key XXXXXXXXXXXXXXXX
#
# TAG: mcast_icp_query_timeout (msec)
#
# Этот тэг определяет таймаут для ICP опроса, который рассылается с целью установления
# количества клиентов(peer; пиров) прослушивающих данный multicast адрес. Другими
# словами, как долго будет Squid ожидать ответа от всех "живых" клиентов multicast
# группы слушающей этот адрес. По умолчанию, 2 секунды, что равняется 2000
# миллисекундам.
#
#По умолчанию:
# mcast_icp_query_timeout 2000
#
# Секция: INTERNAL ICON
# -----------------------------------------------------------------------------
#
# TAG: icon_directory
#
# Этот тэг определяет директорию где распологаются иконки(значки). Обычно это
# /usr/local/etc/squid/icons
#
#По умолчанию:
# icon_directory /usr/local/etc/squid/icons
#
# TAG: global_internal_static
#
# Этот тэг определяет будет ли в Squid работать внутренний веб-сервер, который позволит
# подменять содержимое некоторых URL адресов, для клиентов. Если значение тэга «on», то
# веб-сервер будет использоваться, а если значение тэга «off» то не будет.
# Информация(иконка, рисунок, html) для подмены может братся редиректором с внутреннего
# веб-сервера Squid(Если значение тэга global_internal_static on). Информация(иконка,
# рисунок, html) доступна из сети, например к иконке, таким образом
# <nowiki>http://127.0.0.1:3128/squid-internal-static/icons/anthony-dir.gif).</nowiki> Расположение её
# на сервере, обычно в /usr/share/squid/icons. Теперь если вам необходимо, подменить,
# скажем, флэш баннер, вы, используя редиректор(SquidGuard, rejik etc), прописываете в
# нем(редиректоре) путь к подменяемой информации(иконке, рисунку, html), доступному из
# сети. Таким образом, можно обойтись без Apache. Можно и без использования
# редиректора. Для этого следует воспользоватся тэгом deny_info. Тэг deny_info
# поддерживает ACL, что делает его очень удобным и гибким.
#
#По умолчанию:
# global_internal_static on
#
# TAG: short_icon_urls
#
# Этот тэг разрешает/запрещает Squid использовать короткие URL для иконок.
#
# Если значение тэга «off», то URL для иконок будут абсолютными, включая в себя имя
# прокси и порт.
#
#По умолчанию:
# short_icon_urls off
#
# Секция: ERROR PAGE
# -----------------------------------------------------------------------------
#
# TAG: error_directory
#
# Этот тэг определяет директорию, где расположены HTML страницы, которые будут
# выводится пользователю при возникновении HTTP ошибки, т.н. Error pages(например, 404
# File Not Found или 502 Bad Gateway и т.п.). Если вы хотите создать и использовать
# свои собственные страницы с сообщениями об ошибках, то вы можете взять в качестве
# шаблона те, которые выдаются по умолчанию. По умолчанию, они(страницы), расположены в
# /usr/local/etc/squid/errors/English. Внимание! Путь зависит от операционной системы.
# Таким образом вы копируете эти страницы в некоторый каталог, например в
# /usr/local/etc/squid/errors/myPages, изменяете их в соответствии со своими
# пожеланиями и, затем, устанавливаете этот путь, значением тэга 'error_directory'.
# Получится что-то вроде этого:
#
# error_directory /usr/local/etc/squid/errors/myPages
#
#По умолчанию:
# error_directory /usr/local/etc/squid/errors/English
#
# TAG: error_map
#
# Этот тэг позволяет назначить определенный HTML-файл для вывода пользователю, при
# возникновении определенной HTTP ошибки.
#
# ВНИМАНИЕ: Если вы хотите использовать этот тэг, то необходимо, чтобы Squid работал в
# режиме Accelerator(т.н. Обратный прокси), т.е., чтобы был включен
# внутренний веб-сервер Squid. Либо вместо внутреннего веб-сервера Squid,
# можно использовать Apache.
#
# error_map message_url http_status ...
#
# Вместо http_status ..., следует поставить номер HTTP ошибки.Например, 404
#
# Этот тэг полезен при использовании редиректоров(accelerator), если они(редиректоры)
# возвращают(могут возвращать) коды ошибок отличающиеся от общепринятых.
#
# error_map <nowiki>http://your.server/error/404.shtml 404</nowiki>
#
# Запросы к страницам об ошибках, выполняются методом GET. К запросу дополнительно
# присоединяются следующие заголовки:
#
# X-Error-Status: HTTP статус-код ошибки (например, 404)
# X-Request-URI: Запрошенный URI, который вызвал ошибку
#
# Также присоединяются заголовки от клиента:
#
# User-Agent, Cookie, X-Forwarded-For, Via, Authorization,
# Accept, Referer
#
# В ответе сервера, будут содержатся заголовки:
#
# Server, Via, Location, Content-Location
#
# Ответ от сервера будет содержать также все HTTP заголовки, которые пришли от клиента.
# Тело же ответа, будет взято из файла указанного в тэге error_map на эту HTTP ошибку.
#
#По умолчанию:
# none
#
# TAG: err_html_text
#
# Этот тэг определяет HTML текст который будет включатся во все сообщения об HTTP
# ошибках. Используйте его для указания e-mail адреса администратора, например.
#
# Чтобы определить, где будет распологатся текст определенный в тэге err_html_text, вам
# следует отредактировать шаблон HTML файла, с сообщением об ошибке(можно найти в
# директории "errors"). В том месте, где вы хотите расположить указанный текст,
# добавьте тэг %L.
#
#По умолчанию:
# none
#
# TAG: deny_info
#
# Использование: deny_info err_page_name acl
# или так deny_info <nowiki>http://... acl</nowiki>
#
# Пример: deny_info ERR_CUSTOM_ACCESS_DENIED bad_guys
#
# Этот тэг используется для определения возвращаемой страницы для запросов не прошедших
# правила, установленные через http_access. Также Squid позволяет использовать ACL,
# чтобы определить круг запросов, которые бы получали некоторую HTML-страницу. Вместо
# страницы, можно указывать и рисунки. Это может быть полезно, если вы хотите, вы
# режете баннеры через Squid. И чтобы страница, выдаваемая клиенту не сильно
# изменялась, вы можете назначить отображать вместо баннеров(например, вы режете
# баннеры через ACL url_regex), картинку с надписью - "Здесь был баннер". Всё зависит от вашей
# фантазии.
#
# Вы можете использовать ERR_ страницы об ошибках, которые идут вместе со Squid или
# создать свои собственные и положить их в errors/ директорию.
#
# Кроме того, вы можете указать URL страницы, которая будет выдаватся при возникновении
# HTTP ошибки. В таком случае, браузеры будут перенаправлены(код 302) на определенный
# URL.
#
# Более того, вы можете сообщить Squid очистить TCP соединение через TCP_RESET.
#
#По умолчанию:
# none
#
# Секция: 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
#
# Секция: ADVANCED NETWORKING
# -----------------------------------------------------------------------------
#
# TAG: incoming_icp_average
# TAG: incoming_http_average
# TAG: incoming_dns_average
# TAG: min_icp_poll_cnt
# TAG: min_dns_poll_cnt
# TAG: min_http_poll_cnt
#
# Немного магии. Мы не можем поверить, что вы читаете эти строки. Вы сошли с ума? Даже
# не пытайтесь понять, что делают эти тэги. Прежде чем менять значения по умолчанию,
# ознакомьтесь сначала с алгоритмами описанными в comm_select.c !
#
#По умолчанию:
# incoming_icp_average 6
# incoming_http_average 4
# incoming_dns_average 4
# min_icp_poll_cnt 8
# min_dns_poll_cnt 8
# min_http_poll_cnt 8
#
# TAG: tcp_recv_bufsize (bytes)
#
# Этот тэг определяет размер буфера TCP сокета. Установите тэг в значение «0», чтобы
# использовать значение по умолчанию.
#
#По умолчанию:
# tcp_recv_bufsize 0 bytes
#
# Секция: DNS
# -----------------------------------------------------------------------------
#
# TAG: check_hostnames
#
# Этот тэг определяет будет ли Squid проверять DNS имена на соответствие интернет
# стандартам RFC. Из соображений безопасности, по умолчанию Squid будет производить
# такую проверку. Если вы не хотите, чтобы Squid проверял DNS имена, то установите
# значение этого тэга в «off».
#
#По умолчанию:
# check_hostnames on
#
# TAG: allow_underscore
#
# Этот тэг определяет, будет ли Squid считать корректными, DNS имена в которых
# используется знак подчеркивания(Также называемый «земля»т.е. «_»). Знак подчеркивания
# строго не допускается в именах хостов(hostname, DNS именах), но всё же используется
# многими сайтами. Установите значение этого тэга в «off», если хотите, чтобы Squid
# строго соблюдал стандарт. Эта настройка имеет значение, только если тэг
# check_hostnames в значении «on».
#
#По умолчанию:
# allow_underscore on
#
# TAG: cache_dns_program
#
# Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией
# --disable-internal-dns option
#
# Этот тэг определяет местоположение исполнительного файла DNS программы(программа
# осуществляющая поиск DNS записей).
#
#По умолчанию:
# cache_dns_program /usr/local/libexec/squid/dnsserver
#
# TAG: dns_children
#
# Примечание: Этот тэг доступен только, если Squid скомпилирован с опцией
# --disable-internal-dns option
#
# Этот тэг определяет количество процессов, которые будут отведены под DNS программу.
# Для сильно загруженных серверов, возможно, потребуется увеличить это число до 10.
# Максимально возможное значение - 32. По умолчанию, 5.
#
# Вы должны иметь хотя бы один запущенный процесс DNS сервера.
#
#По умолчанию:
# dns_children 5
#
# TAG: dns_retransmit_interval
#
# Этот тэг определяет интервал между отправками DNS запросов. Список DNS серверов,
# проходится сверху вниз и если ни один сервер не ответил, то Squid возвращается к
# началу списка, удваивает интервал между отправками DNS запросов(Например, при первом
# проходе, между отправкой двух запросов прошло 5 секунд. Значит при втором, интервал
# между ними будет составлять уже 10 секунд) и проходит список заново сверху вниз. Если
# и в этот раз, никто не ответил, то Squid ещё раз удвоит и всё пойдет заново.
#
#По умолчанию:
# dns_retransmit_interval 5 seconds
#
# TAG: dns_timeout
#
# Этот тэг определяет таймаут(как долго ожидать ответа) для DNS запроса. Если не пришло
# ни одного ответа в течение этого времени, то запрошенный домен будет считатся
# несуществующим.
#
#По умолчанию:
# dns_timeout 2 minutes
#
# TAG: dns_defnames on|off
#
# Этот тэг определяет, будет ли Squid работать с однокомпонентными DNS именами. Обычно
# этот тэг в значении «off». Это предотвращает распознавание однокомпонентных DNS
# имен(hostnames) как локальных имен. Для того, чтобы Squid обрабатывал
# однокомпонентные имена, установите значение этого тэга в «on».
#
#По умолчанию:
# dns_defnames off
#
# TAG: dns_nameservers
#
# Этот тэг позволяет определить список DNS серверов(IP адреса), которые будут
# использоватся вместо тех, что определены в /etc/resolv.conf файле.
# В Windows если этот список не определен(посредством тэга dns_nameservers или
# /etc/resolv.conf), то будет использоватся список из реестра Windows. Поддерживается
# статическая и динамическая DHCP конфигурации.
#
# Пример: dns_nameservers 10.0.0.1 192.172.0.4
#
#По умолчанию:
# none
#
# TAG: hosts_file
# Этот тэг определяет местоположение файла hosts. Этот файл содержит список IP адресов
# и ассоциированных с ними имен(hostname). Местоположение файла в некоторых
# операционных системах:
#
# - Un*X & Linux: /etc/hosts
# - Windows NT/2000: %SystemRoot%\system32\drivers\etc\hosts
# - Windows XP/2003: %SystemRoot%\system32\drivers\etc\hosts
# - Windows 9x/Me: %windir%\hosts
# - Cygwin: /etc/hosts
#
# Пример записи в файле hosts:
#
# 192.168.1.5 external.example.com
# # Комментарий
# 192.168.1.6 right.example.com left.example.com up.example.com
#
# Как вы можете видеть - по одной записи на строку. Имена(hostname) разделяются
# пробелом(если их несколько). # - Используется для комментирования.
#
#По умолчанию:
# hosts_file /etc/hosts
#
# TAG: dns_testnames
#
# Этот тэг определяет список имен хостов(hostname) на примере которых, производится
# работоспособность DNS программы.
#
# Этот тест может быть выключен использованием опции -D в командной строке.
#
#По умолчанию:
# dns_testnames netscape.com internic.net nlanr.net microsoft.com
#
# TAG: append_domain
#
# Этот тэг определяет, что добавлять к имени хоста, если в нем(имени) нет ни одной
# точки. Значение тэга должно начинатся с символа точки «.».
#
# Обратите внимание, что сейчас интернет имена без точек, используются только для
# доменов верхнего уровня, поэтому настройка этого тэга, может сделать некоторые сайты
# недоступными.
#
#Пример:
# append_domain .yourdomain.com
#
#По умолчанию:
# none
#
# TAG: ignore_unknown_nameservers
#
# Этот тэг определяет, будет ли Squid принимать ответы от неизвестных DNS серверов. По
# умолчанию, Squid проверяет, чтобы DNS ответ пришел с того же IP адреса, на который
# был отправлен запрос. Если IP адреса различны, Squid будет игнорировать ответ и также
# сделает запись в журнале cache.log. Вы можете разрешить принимать ответы с
# неизвестных DNS серверов. Для этого установите значение этого тэга в «off».
#
#По умолчанию:
# ignore_unknown_nameservers on
#
# TAG: ipcache_size (число; количество записей)
# TAG: ipcache_low (в процентах)
# TAG: ipcache_high (в процентах)
#
# Эти тэги определяют количество записей, нижнюю и верхнюю границы соответственно для
# DNS базы IP адресов.
#
#По умолчанию:
# ipcache_size 1024
# ipcache_low 90
# ipcache_high 95
#
# TAG: fqdncache_size (число; количество записей)
#
# Этот тэг определяет максимальное число FQDN записей.
#
#По умолчанию:
# fqdncache_size 1024
#
# Секция: MISCELLANEOUS
# -----------------------------------------------------------------------------
#
# TAG: memory_pools on|off
#
# Этот тэг определяет, будет ли однажды выделенная(но сейчас не используемая) память,
# доступна для использования в будущем. Если вам необходимо освобождать память, которая
# была выделена(но сейчас не используется), то установите значение этого тэга в «off».
#
#По умолчанию:
# memory_pools on
#
# TAG: memory_pools_limit (bytes)
#
# Используется, только если тэг memory_pools в значении on:
# memory_pools_limit 50 MB
#
# Этот тэг определяет максимальный размер памяти(выделенной, но не используемой),
# который Squid будет удерживать в memory pools. Squid НЕ выделяет память заранее,
# просто будет удерживать ту, что занял в процессе выполнения какой-либо операции.
# Поэтому вы можете установить значение этого тэга достаточно большим, даже если ваша
# система сильно ограничена в ресурсах памяти.
#
# Если установить значение в «0», то Squid будет удерживать столько памяти сколько
# сможет. Это означает, что в таком случае ограничения на размер удерживаемой памяти
# будут сняты.
#
# Чтобы выключить эту опцию, не надо устанавливать значение этого тэга в «0». Для этого
# нужно задать значение тэга memory_pools в «off».
#
#По умолчанию:
# memory_pools_limit 5 MB
#
# TAG: forwarded_for on|off
#
# Этот тэг определяет, будет ли Squid вставлять IP адрес клиента в заголовок X-
# Forwarded-For. По умолчанию, это выглядит так:
#
# X-Forwarded-For: 192.1.2.3
#
# Если вы установите тэг в значение «off», то вид заголовка будет иной:
#
# X-Forwarded-For: unknown
#
#По умолчанию:
# forwarded_for on
#
# TAG: cachemgr_passwd
#
# Этот тэг позволяет вам определить пароль для доступа в cachemgr. Защита эта довольно
# слабая, так как пересылка аутентификационных данных идет в незашифрованном виде.
# Кроме того, можно указать действия, которые будут доступны для человека
# использовавшего этот пароль для аутентификации.
#
# Использование: cachemgr_passwd password action action ...
#
# Некоторые доступные действия(action). Смотри меню Cache Manager для получения полного
# списка:
#
# 5min
# 60min
# asndb
# authenticator
# cbdata
# client_list
# comm_incoming
# config *
# counters
# delay
# digest_stats
# dns
# events
# filedescriptors
# fqdncache
# histograms
# http_headers
# info
# io
# ipcache
# mem
# menu
# netdb
# non_peers
# objects
# offline_toggle *
# pconn
# peer_select
# redirector
# refresh
# server_list
# shutdown *
# store_digest
# storedir
# utilization
# via_headers
# vm_objects
#
# * Отмеченные действия являются теми действиями, которые нельзя выполнить без ввода
# пароля. Например, shutdown(выключение).
#
# Чтобы выключить эту функцию, установите значение тэга в "disable".
# Чтобы разрешить доступ без пароля, установите значение тэга в "none".
#
# Используйте слово "all" для установки некоторого пароля для всех действий.
#
#Пример:
# cachemgr_passwd secret shutdown
# cachemgr_passwd lesssssssecret info stats/objects
# cachemgr_passwd disable all
#
#По умолчанию:
# none
#
# TAG: client_db on|off
#
# Этот тэг определяет, будет ли собиратся статистика о клиентах(IP адреса). Если вы
# хотите запретить сбор статистики о клиентах, то установите значение этого тэга в
# «off». Собранную статистику вы можете просмотреть через Cache Manager на странице
# client_list. Структура ClientInfo занимает около 240 байт на 32-разрядных машинах и
# около 300 байт на 64-разрядных. Если у вас возникает нехватка памяти, вы можете
# выключить эту функцию, установив значение тэга в «off».
#
#По умолчанию:
# client_db on
#
# TAG: reload_into_ims on|off
#
# Этот тэг определяет, будут ли запросы 'no-cache' или 'reload' преобразовыватся в
# запросы вида If-Modified-Since.
#
# Использование этой опции НАРУШАЕТ стандарт HTTP. Включая эту опцию, вы принимаете на
# себя ответственность за возможные проблемы.
#
# смотри также refresh_pattern
#
#По умолчанию:
# reload_into_ims off
#
# TAG: maximum_single_addr_tries
#
# Этот тэг определяет максимальное количество попыток для установления соединения с
# сервером, который имеет только один IP адрес(Если сервер имеет несколько IP адресов,
# то будет произведено по одной попытке подключения на каждый из них).
#
# По умолчанию, 1. Максимальное количество(не рекомендуется) - 255. Предупреждение
# будет выдаватся при установке этого значения более 10.
#
#По умолчанию:
# maximum_single_addr_tries 1
#
# TAG: retry_on_error
#
# Этот тэг определяет, будет ли Squid автоматически повторять отправку запроса, при
# получении сообщения об ошибке. Это бывает полезным если у вас выстроена иерархия
# кэшей и вы их тестируете на предмет контроля доступа.
#
#По умолчанию:
# retry_on_error off
#
# TAG: as_whois_server
#
# Этот тэг позволяет определить WHOIS сервер, который будет использоватся для получения
# номера AS.
#
# ПРИМЕЧАНИЕ: AS номера запрашиваются только при запуске Squid, а не для
# каждого запроса.
#
#По умолчанию:
# as_whois_server whois.ra.net
# as_whois_server whois.ra.net
#
# TAG: offline_mode
#
# Этот тэг позволяет установить так, чтобы Squid работал только в режиме оффлайн. Это
# означает, что он будет брать объекты только из кэша.
#
#По умолчанию:
# offline_mode off
#
# TAG: uri_whitespace
#
# Этот тэг определяет, что делать с запросами, которые имеют пробелы в URI.
#
# Действия:
#
# strip: Пробелы будут удалятся. Это рекомендуется стандартом RFC2396.
#
# deny: Запрос будет запрещен. Пользователь получит сообщение "Invalid
# Request"(Некорректный запрос).
#
# allow: Запрос будет передан как есть, т.е. URI не будет изменен. Помните, что
# пробелы будут обработаны редиректором, если, конечно, он(редиректор) есть.
#
# encode: Пробелы будут кодированы в соответствии с RFC1738 и переданы дальше. Это
# может быть нарушением стандарта HTTP/1.1 RFC, поскольку прокси-серверам не
# разрешатеся переделывать URI.
#
# chop: Запрос будет обрезан после первого же пробела. Использование этой опции может
# привести к проблемам связанным с обработкой запросов.
#
#По умолчанию:
# uri_whitespace strip
#
# TAG: coredump_dir
#
# Этот тэг определяет местоположение директории, которая будет содержать core файлы. По
# умолчанию Squid определяет под core файлы, директорию, откуда запущен Squid. Если вы
# установите значением тэга, уже существующую директорию, то Squid сделает chdir() в
# этот каталог и будет складывать core файлы уже в него.
#
#По умолчанию:
# coredump_dir none
#
# Оставлять core файлы в первой директории кэша:
coredump_dir /usr/local/squid/cache
#
# TAG: chroot
#
# Этот тэг позволяет определить корневой каталог для Squid в ходе
# инициализации(считывания конфигов). Squid теряет права root после инициализации. Это
# означает, например, что если Squid слушает HTTP порт <1024 и пытаетесь перечитать
# конфигурационные файлы, Squid выдаст ошибку - "Can not open the port"(Не могу открыть
# порт).
#
#Пример:
# chroot /squid
#
#По умолчанию:
# none
#
# TAG: balance_on_multiple_ip
#
# Этот тэг включает/выключает поддержку работы с серверами, которые управляют нагрузкой
# используя несколько IP адресов. То есть вся нагрузка(траффик) распределяется через
# несколько IP адресов.
#
# По умолчанию, Squid изменяет используемый IP адрес, при каждом новом запросе.
# Установите значение этого тэга в «off» и тогда смена IP адреса произойдет только при
# ошибке подключения(отсутствии соединения).
#
#По умолчанию:
# balance_on_multiple_ip on
#
# TAG: pipeline_prefetch
#
# Этот тэг позволяет включить/выключить поддержку обработки двух запросов одновременно.
# По умолчанию, Squid обрабатывает в один момент один запрос(от одного подключения). Но
# может обрабатывать и два запроса. Это полезно для увеличения производительности. Это
# реализовано, открытием ещё одного соединения с первоисточником. Но если быстрее был
# обработан второй запрос, то он будет ждать, пока не обработается первый. И затем
# клиенту сначала придет обработка первого запроса и уже потом второго. Если вы хотите,
# чтобы Squid за раз обрабатывал два запроса, то установите значение этого тэга в «on».
# Из соображений безопасности по умолчанию, этот тэг в «off».
#
#По умолчанию:
# pipeline_prefetch off
#
# TAG: high_response_time_warning (msec)
#
# Этот тэг позволяет установить время ответа от сервера. Если среднее время ответа в
# течение минуты превышает указанное в этом тэге время, то Squid выведет
# предупреждение, если debug level 0, для привлечения внимания администраторов.
#
#По умолчанию:
# high_response_time_warning 0
#
# TAG: high_page_fault_warning
#
# Этот тэг позволяет установить лимит на количество ошибок на страницу. Если количество
# ошибок превысит заданное значение в этом тэге, то Squid выведет предупреждение, если
# debug level 0.
#
#По умолчанию:
# high_page_fault_warning 0
#
# TAG: high_memory_warning
#
# Этот тэг позволяет определить лимит на размер используемой памяти. Если размер
# используемой памяти превысит заданное значение в этом тэге, то Squid выведет
# предупреждение, если debug level 0.
#
#По умолчанию:
# high_memory_warning 0 KB
#
# TAG: sleep_after_fork (microseconds)
#
# Этот тэг позволяет установить время, в течение которого главный процесс Squid будет
# стоять на паузе(sleep) после выполнения системного вызова fork(). Squid использует
# вызов fork(), для разветвления(распараллеливания) процессов вспомогательных
# программ(helper programs), таких как редиректоры, программы аутентификации и DNS
# сервисы. Т.е. fork() вызывается для создания процесса-потомка, чтобы он выполнял
# разгрузил процесс-родитель. На некоторых системах вызов fork() требует использования
# всей доступной памяти(реальной и виртуальной). Поэтому вызов fork() может закончится
# ошибкой "out of memory"(Недостаточно памяти). Использование тэга sleep_after_fork
# может быть полезно, если не получается создать процесс-потомок из-за нехватки памяти.
# В течение этой паузы Squid перестает принимать запросы.
#
#По умолчанию:
# sleep_after_fork 0