Кальмар (программное обеспечение)
![]() Логотип проекта Squid [1] | |
Разработчик(и) | Дуэйн Вессельс, Хенрик Нордстрем, Амос Джеффрис, Алекс Руссков, Франческо Чемолли, Роберт Коллинз, Гвидо Серассио и волонтеры [2] |
---|---|
Первоначальный выпуск | июль 1996 г |
Стабильная версия | 6.10 [3] ![]() |
Репозиторий | github |
Написано в | С++ [4] |
Операционная система | BSD , Linux , Unix , Windows [5] |
Тип | Прокси-сервер |
Лицензия | GPL 2.0 или новее [6] |
Веб-сайт | www |

Squid — это HTTP с кэшированием и пересылкой веб-прокси . Он имеет широкий спектр применений, включая ускорение веб-сервера за счет кэширования повторяющихся запросов, кэширования Всемирной паутины (WWW), системы доменных имен (DNS) и других сетевых поисков для группы людей, совместно использующих сетевые ресурсы, а также обеспечения безопасности. путем фильтрации трафика. Хотя Squid используется в основном для HTTP и протокола передачи файлов (FTP), он включает ограниченную поддержку нескольких других протоколов , включая Internet Gopher , Secure Sockets Layer (SSL), [7] Безопасность транспортного уровня (TLS) и безопасный протокол передачи гипертекста ( HTTPS ). Squid не поддерживает протокол SOCKS , в отличие от Privoxy , с которым Squid можно использовать для обеспечения поддержки SOCKS.
Squid изначально был разработан для работы в качестве демона в Unix-подобных системах. Порт Windows поддерживался до версии 2.7. Новые версии, доступные для Windows, используют среду Cygwin . [8] [9] Squid — бесплатное программное обеспечение , выпущенное под лицензией GNU General Public License .
История
[ редактировать ]Squid изначально разрабатывался как кэш объектов Harvest , [7] часть проекта Harvest в Университете Колорадо в Боулдере . [10] [11] Дальнейшая работа над программой была завершена в Калифорнийском университете в Сан-Диего и финансировалась за счет двух грантов Национального научного фонда . [12] Дуэйн Весселс создал «последнюю предкоммерческую версию Harvest» и переименовал ее в Squid, чтобы избежать путаницы с коммерческой версией Cached 2.0, которая стала NetCache . [13] [14] Версия Squid 1.0.0 была выпущена в июле 1996 года. [13] SquidNT , порт прокси-сервера Squid, был объединен с основным проектом Squid в сентябре 2006 года. [15]
Squid сейчас разрабатывается почти исключительно благодаря усилиям добровольцев.
В октябре 2023 года выяснилось, что Squid по-прежнему страдает от 35 уязвимостей безопасности, которые не были устранены в течение двух с половиной лет после их первоначального сообщения. [16]
Базовый функционал
[ редактировать ]После установки прокси-сервера Squid веб-браузеры можно настроить для использования его в качестве прокси- сервера HTTP, что позволяет Squid сохранять копии возвращаемых документов, что при повторных запросах одних и тех же документов может сократить время доступа, а также пропускную способность. потребление. Это часто бывает полезно провайдерам Интернет-услуг для увеличения скорости для своих клиентов, а также для локальных сетей , которые совместно используют подключение к Интернету . Поскольку серверы кэширования контролируются оператором веб-службы, прокси-серверы кэширования не анонимизируют пользователя, и их не следует путать с анонимизирующими прокси-серверами.
Клиентская программа (например, браузер) либо должна явно указать прокси-сервер, который она хочет использовать (типично для клиентов интернет-провайдера), либо она может использовать прокси без какой-либо дополнительной настройки: «прозрачное кэширование», и в этом случае все исходящие HTTP-запросы перехватываются Squid, и все ответы кэшируются. Последний вариант обычно представляет собой корпоративную настройку (все клиенты находятся в одной локальной сети) и часто вызывает проблемы конфиденциальности, упомянутые выше.
Squid имеет некоторые функции, которые могут помочь анонимизировать соединения, например, отключение или изменение определенных полей заголовков в HTTP-запросах клиента . Установлены ли они и для чего они предназначены, зависит от человека, который управляет компьютером, на котором работает Squid. Люди, запрашивающие страницы через сеть, которая прозрачно использует Squid, могут не знать, протоколируется ли эта информация. [17] По крайней мере, в британских организациях пользователи должны быть проинформированы о том, отслеживаются ли компьютеры или интернет-соединения. [18]
Обратный прокси
[ редактировать ]Описанная выше настройка, кэширующая содержимое неограниченного числа веб-серверов для ограниченного числа клиентов, является классической. Другая настройка — « обратный прокси » или «ускорение веб-сервера» (с использованием http_port 80 ускорения vhost ). В этом режиме кеш обслуживает неограниченное количество клиентов для ограниченного числа или только одного веб-серверов.
Например, если медленный.example.com — это «настоящий» веб-сервер, а www.example.com — это кэш-сервер Squid, который «ускоряет» его, при первом запросе какой-либо страницы www.example.com с кэш-сервер получит фактическую страницу с сайта low.example.com , но последующие запросы получат сохраненную копию непосредственно из ускорителя (в течение настраиваемого периода, после которого сохраненная копия будет удалена). В результате без каких-либо действий со стороны клиентов снижается трафик на исходный сервер, что означает меньшее использование ЦП и памяти, а также меньшую потребность в пропускной способности. Однако это означает, что исходный сервер не может точно сообщить о количестве своего трафика без дополнительной настройки, поскольку все запросы, похоже, исходят от обратного прокси-сервера. Способ адаптации отчетов на исходном сервере — использовать HTTP-заголовок X-Forwarded-For, сообщаемый обратным прокси-сервером, для получения реального IP-адреса клиента.
Один сервер Squid может одновременно служить обычным и обратным прокси-сервером. Например, компания может разместить свой собственный веб-сайт на веб-сервере, при этом сервер Squid будет выступать в качестве обратного прокси-сервера между клиентами (клиентами, получающими доступ к веб-сайту из-за пределов компании) и веб-сервером. Тот же сервер Squid может действовать как классический веб-кэш, кэшируя HTTP-запросы от клиентов внутри предприятия (т. е. сотрудников, получающих доступ к Интернету со своих рабочих станций), тем самым ускоряя веб-доступ и снижая требования к пропускной способности.
Ограничения медиадиапазона
[ редактировать ]Например, особенностью протокола HTTP является ограничение запроса диапазоном данных в ресурсе, на который имеется ссылка. Эта функция широко используется веб-сайтами потокового видео, такими как YouTube , поэтому, если пользователь нажимает на середину индикатора выполнения видео, сервер может начать отправлять данные с середины файла, а не отправлять весь файл из начало, и пользователь ожидает завершения загрузки предыдущих данных.
Частичные загрузки также широко используются Центром обновления Microsoft Windows , поэтому очень большие пакеты обновлений могут загружаться в фоновом режиме и приостанавливаться на полпути загрузки, если пользователь выключает свой компьютер или отключается от Интернета.
Формат загрузки Metalink позволяет клиентам выполнять сегментированную загрузку, отправляя частичные запросы и распределяя их по нескольким зеркалам.
Squid может ретранслировать частичные запросы на исходный веб-сервер. Чтобы частичный запрос мог быть удовлетворен на высокой скорости из кэша, Squid требует, чтобы в его хранилище уже существовала полная копия того же объекта.
Если пользователь прокси-видео просматривает видеопоток и переходит на другую страницу до полной загрузки видео, Squid не может сохранить частичную загрузку для повторного использования и просто удаляет данные. Для продолжения и кэширования таких загрузок требуется специальная настройка. [19]
Поддерживаемые операционные системы
[ редактировать ]Squid поддерживает множество операционных систем , в том числе:
- ЭКС
- БСДИ
- Цифровой Юникс
- FreeBSD
- Тюрьма FreeBSD
- OpenWRT
- Распбиан
- Докер (программное обеспечение)
- Убунту
- pfSense
- ОПНсенс
- Кали Линукс
- ЦентОС
- HP-UX
- ИРИКС
- Линукс
- Ред Хэт Энтерпрайз Линукс
- SUSE Linux
- Арч Линукс
- Линукс Минт
- Дебиан
- webOS на Palm
- macOS
- NetBSD
- НеXTStep
- OpenBSD
- OS/2 (включая ArcaOS и eComStation ) [20]
- ШОС OpenServer
- Солярис
- UnixWare
- Microsoft Azure также Microsoft Nano Server
- Окна [21]
См. также
[ редактировать ]- Веб-ускоритель , в котором обсуждается HTTP-ускорение на основе хоста.
- Прокси-сервер, на котором обсуждаются клиентские прокси.
- Обратный прокси , в котором обсуждаются прокси на стороне источника.
- Сравнение веб-серверов
- Протокол связи веб-кэша Cisco WCCP также может работать с Squid.
- Технология Riverbed RiOS поддерживает Squid
- Junos OS JSA DSM для Squid Web Proxy записывает все события кэша и журнала доступа.
Ссылки
[ редактировать ]- ^ «Логотип проекта «Кальмар»» . Проверено 6 июля 2014 г.
- ^ «Кто занимается проектом Squid?» .
- ^ «Squid: оптимизация веб-доставки» . 10 июня 2024 г. Проверено 10 июня 2024 г.
- ^ squid-cache/squid , Squid, 27 июля 2022 г. , получено 27 июля 2022 г.
- ^ «Какая ОС для Squid лучше всего?» .
- ^ «Лицензия на кальмаров» .
- ^ Перейти обратно: а б К.Мик Боуман, Питер Б. Данциг, Даррен Р. Харди, Уди Манпер, Майкл Ф. Шварц, Система обнаружения и доступа к информации The Harvest, Компьютерные сети и системы ISDN, Том 28, выпуски 1–2, декабрь 1995 г., страницы 119 –125. doi:10.1016/0169-7552(95)00098-5
- ^ «Кальмар для Windows» . Гитхаб . Февраль 2024 г.
Текущая сборка основана на последней сборке Squid 4 для 64-разрядной версии Cygwin Windows.
- ^ «База знаний Squid-cache.org» .
Кальмар в Windows
- ^ Введение в Squid , на сайте Squid.
- ^ Кэш Harvest теперь доступен как «ускоритель httpd» , автор Майк Шварц в списке рассылки http-wg, вторник, 4 апреля 1995 г., перенаправлен Брайаном Белендорфом в Apache HTTP Server. список рассылки разработчиков
- ^ «Спонсоры кальмаров» . Архивировано из оригинала 11 мая 2007 года . Проверено 13 февраля 2007 г.
NSF был основным источником финансирования разработки Squid в 1996–2000 годах. Два гранта (#NCR-9616602, #NCR-9521745), полученные Отделом передовой сетевой инфраструктуры и исследований (ANIR), находились в ведении Калифорнийского университета в Сан-Диего.
- ^ Перейти обратно: а б Дуэйн Весселс: Кальмар и ICP: прошлое, настоящее и будущее , Труды австралийской группы пользователей Unix. Сентябрь 1997 г., Брисбен, Австралия.
- ^ «netcache.com» . Архивировано из оригинала 12 ноября 1996 года . Проверено 7 августа 2012 г.
- ^ «Часто задаваемые вопросы по Squid: работает ли Squid в Windows?» .
- ^ «55 уязвимостей в кэширующем прокси-сервере Squid и 35 0days» . 11 октября 2023 г.
- ^ См. документацию для заголовок_доступ и header_replace для получения более подробной информации.
- ^ См., например, «Мониторинг компьютеров на рабочем месте и ваша конфиденциальность».
- ^ «Справочник по настройке Squid» . Проверено 26 ноября 2012 г.
- ^ Порты OS/2 Пола Смедли , Порты OS/2
- ^ «База знаний/Windows — Wiki веб-прокси Squid» .
Дальнейшее чтение
[ редактировать ]- Весселс, Дуэйн (2004). Кальмар: Полное руководство . О'Рейли Медиа . ISBN 978-0-596-00162-9 .
- Сайни, Кульбир (2011). Прокси-сервер Squid 3.1: Руководство для начинающих . Пакт Паблишинг . ISBN 978-1-849-51390-6 .
Внешние ссылки
[ редактировать ]- Официальный сайт
- Блог о кальмарах
- Руководство пользователя Squid
- Прозрачный прокси Squid для DD-WRT
- Руководство по Palm WebOS - Руководство по установке Squid
- Обратный прокси-сервер Squid – Создайте обратный прокси-сервер с помощью Squid.
- Руководство по настройке – Руководство по настройке ViSolve Squid
- Руководство по настройке — варианты конфигурации авторитетного Squid
- «Настройка Соляриса» . Архивировано из оригинала 15 января 2008 г. – Настройка squid на Solaris.
- SQUID – установка на CentOS, Fedora и Red Hat