Squid

Squid (англ. squid — «кальмар») — программный пакет, реализующий функцию кэширующего прокси-сервера для протоколов HTTP, FTP, Gopher и (в случае соответствующих настроек) HTTPS. Разработан сообществом как программа с открытым исходным кодом (распространяется в соответствии с GNU GPL). Все запросы выполняет как один неблокируемый процесс ввода-вывода. Очень легко настраивается на поддержку протокола wccp, при условии, что маршрутизатор или l3 коммутатор, используемый для выхода в интернет, поддерживает протоколы wccp и GRE.

Используется в UNIX-подобных системах и в ОС семейства Windows NT. Имеет возможность взаимодействия с Active Directory Windows Server путём аутентификации через LDAP, что позволяет использовать разграничения доступа к интернет ресурсам пользователей, которые имеют учётные записи на Windows Server, также позволяет организовать «нарезку» интернет-трафика для различных пользователей.

Исторически используется вместе с движками Mediawiki на wiki-хостингах. Использование кэширующего прокси-сервера для сайтов на Mediawiki начинает быть выгодно примерно с 2000 посетителей в сутки.

Одной из особенностей squid является возможность работать в режиме обратного прокси (reverse proxy), также известного как «ускоритель» («HTTP accelerator»). В этом случае вместо кэширования запросов нескольких пользователей к множеству сайтов кешируются запросы множества пользователей к нескольким сайтам. В этом режиме принятый запрос проверяется на «динамичность» (нужно ли каждый раз обрабатывать запрос с нуля) и «возраст» (актуальны ли ещё данные). Если данные ещё актуальны и не поменялись, то запрос не передаётся серверу, а отдаётся из кеша squid’а. Таким образом существенно снижается нагрузка на серверы (например, в Википедии запросы к страницам кешируются, так как от просмотра их содержимое не меняется, при этом нагрузка на серверы существенно меньше — обработка запроса к кешу много проще, чем обработка запроса к базе данных SQL, обработка вики-разметки и формирование веб-страницы).

Кроме того, «обратный прокси» способен распределять запросы между несколькими серверами, балансируя нагрузку и/или обеспечивая отказоустойчивость, то есть фактически предоставляет функциональность, аналогичную кластеру.

Прокси-серверы являются одним из самых популярных способов выхода в Интернет из локальных сетей предприятий и организаций. Этому способствуют следующие обстоятельства:

  • основной используемый во Всемирной паутине протокол — HTTP, в стандарте которого с самых первых версий описана поддержка работы через прокси;
  • поддержка прокси большинством браузеров и операционных систем;
  • контроль доступа и учёт трафика по пользователям;
  • фильтрация трафика (интеграция прокси с антивирусами к примеру ClamAV);
  • прокси-сервер — может работать с минимальными правами на любой ОС с поддержкой сети (стека TCP/IP);
  • многие приложения, использующие собственные специализированные протоколы, могут использовать HTTP как альтернативный транспорт или SOCKS-прокси как универсальный прокси, подходящий для практически любого протокола;
  • отсутствие доступа в Интернет по другим (нестандартным) протоколам может повысить безопасность в корпоративной сети.

Что дает прозрачное Web-кеширование с использованием Squid:

1. Снижение общего объема Web-трафика (из практики – в пределах 10-20% при 200 пользователях) во внешнюю сеть.

2. Снижение количичества “медленных” Web-запросов к Web-серверам (в пределах 30-50% при 200 пользователях) во внешнюю сеть, как следствие – повышенный комфорт для пользователей.

3. Возможность фильтрации Web-трафика средствами Squid.

4. Возможность журналирования Web-трафика средствами Squid.

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

6. Надежность. Даже в случае падения кеш-сервера пользователи смогут использовать Web, поскольку маршрутизатор автоматически пустит трафик в обход кеша

7. Производительность. Для работы кеша не требуется промежуточной фильтрации трафика дополнительными устройствами (обычно для этого ставится сервер-шлюз) – маршрутизатор сделает это самостоятельно.

Преимущества программы Squid:
1. Универсальность: Squid может использоваться как прокси-сервер для управления доступом к Интернету, так и как прокси-сервер для ускорения загрузки веб-страниц, особенно страниц web 1.0.
2. Надежность: Squid имеет высокую степень надежности и стабильности работы.
3. Гибкость: Squid поддерживает широкий спектр настроек и конфигураций для удовлетворения потребностей пользователей.
4. Безопасность: Squid обеспечивает защиту данных и конфиденциальность информации пользователей при работе в Интернете.
Недостатки программы Squid:
1. Сложность настройки: Squid требует определенного уровня знаний и опыта для настройки и администрирования.
2. Производительность: При неправильной настройке Squid может замедлить скорость доступа к интернету.
3. Зависимость от аппаратной инфраструктуры: Для эффективной работы Squid требуется высокопроизводительное оборудование.
4. Ограничения функционала: Некоторые функции, доступные в других прокси-серверах, могут быть ограничены или отсутствовать в Squid.

5. Неэффективное кэширование страниц Web 2.0 и web3.

Обсуждение закрыто.