Стабильный релиз новой ветки прокси-сервера Squid 3.4

Представлена новая стабильная ветка прокси-сервера Squid 3.4, которая по заявлению разработчиков достигла состояния готовности для промышленного использования. После придания ветке 3.4.x статуса стабильной, в ней отныне будут производиться только исправления уязвимостей и проблем со стабильностью, также допускается внесение небольших оптимизаций. Поддержка прошлой стабильной ветки 3.3.x прекращена, пользователям рекомендуется спланировать переход на ветку 3.4.x. Основные новшества Squid 3.4:

Расширены возможности протокола для взаимодействия с хелперами, который может применяться для запуска внешних обработчиков аутентификации, перезаписи URL, перенаправления запросов и обработки ACL. В новой версии реализована возможность возвращения хелпером произвольных пар ключ/значение, что позволяет решить проблемы с прямой и обратной совместимостью хелперов с различными версиями Squid. Добавлена поддержка возврата кода внутренней ошибки (BH) для всех типов хелперов, независимо от кода отклонения изменений (ERR), что позволяет инициировать в Squid операции восстановления с учётом специфики проблемы; Реализация хелпера для проверки валидности SSL-сертификатов, позволяющий выполнить дополнительные проверки после базовой внутренней верификации сертификата средствами OpenSSL. На вход хелпера подаётся изначальный сертификат сервера, целевое имя домена и список ошибок, выявленных при проверке в OpenSSL. Хелпер может подтвердить или игнорировать ошибки, сообщённые OpenSSL, или выявить другие проблемы. Настройка хелпера производится при помощи директив sslcrtvalidator_program и sslcrtvalidator_children; Возможность определения хелпера с реализацией собственного алгоритма вычисления идентификаторов записей в кэше Store-ID, используемого вместо штатного механизма маппинга URL в Store-ID. Подобный хелпер можно использовать для генерации одинаковых Store-ID для идентичного контента, доступного через отличающиеся URL (например, одна и также страница может быть доступна через разные схемы задания URL или могут быть игнорированы не влияющие на результат служебные переменные, такие как utm_source). В итоге можно повысить эффективность кэширования за счёт сокращения дублирования данных в кэше. Вызов хелпера производится через директивы store_id_program и store_id_access; Поддержка TPROXY для организации прозрачного перехвата и перенаправления через прокси HTTP-запросов в OpenBSD 5.1+ и FreeBSD 9+. Для перенаправления трафика в OpenBSD и FreeBSD может использоваться правило divert-to пакетного фильтра PF. Во FreeBSD 9 и более новых выпусках можно использовать штатные возможности IPFW. Для включения поддержки указанных возможностей следует собрать squid с опциями configure »--enable-pf-transparent» и »--enable-ipfw-transparent»; Добавлена директива note для создания аннотированных транзакций. Через задание ACL к любым транзакциям может быть привязана аннотация в формате имя=значение, которая будет отображена в логах при указании опции форматирования »%note». Аннотацию также можно привязать через создание специального хелпера. Аннотация может быть передана в виде HTTP-заголовка модулям eCAP и сервисам CAP, используя директиву adaptation_meta, или проверена при помощи опции test директивы ACL с типом note. Поддержка mDNS (multicast DNS, RFC 6762) во встроенном компоненте разрешения имён в DNS. Для включения поддержки mDNS следует использовать директиву dns_multicast_local. mDNS автоматически применяется для доменов, оканчивающихся на ».local» и обратных преобразований адресов, перед второй попыткой определения имени штатным резолером. Поддержка внешних хелперов для разрешения имён объявлена устаревшей и будет прекращена в будущих выпусках Squid.

© OpenNet