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

После трёх лет разработки представлен стабильный релиз прокси-сервера Squid 4.1, готовый для промышленного использования (выпуски 4.0.x имели статус бета-версий). После придания ветке 4.x статуса стабильной, в ней отныне будут производиться только исправления уязвимостей и проблем со стабильностью, также допускается внесение небольших оптимизаций. Разработка новых возможностей будет производиться в новой экспериментальной ветке 5.0. Пользователям прошлой стабильной ветки 3.5 рекомендуется спланировать переход на ветку 4.1.

Основные новшества Squid 4:

  • В соответствии с требованиями RFC 6176 прекращено использование устаревшей версии протокола SSLv2 при согласовании защищённых соединений. Поддержка SSLv3 пока сохранена, но объявлена устаревшей и рекомендована для отключения (tls-options=NO_SSLv3);
  • Реализована возможность установки безопасных соединений с сервисами, используя протокол ICAP поверх TLS. Шифрованный вариант ICAP доступен через URL icaps:// и сетевой порт 11344;
  • Добавлена директива url_lfs_rewrite для перенаправления всех запросов к файлам, которые присутствуют в заданном каталоге, через локальный HTTP-сервер;
  • Добавлена директива on_unsupported_protocol при помощи котороой можно организовать проброс через прокси трафика, отличного от HTTP;
  • Реализована опция «queue-size=N» для настройки максимального размера очереди к обработчикам (helper);
  • В директиве external_acl_type добавлена возможность использования кодов форматирования вывода для лога (logformat);
  • Добавлена экспериментальная поддержка сборки с библиотекой GnuTLS вместо OpenSSL (при сборке с GnuTLS пока не поддерживаются режим SSL-Bump и генерация сертификатов);
  • Переименованы обработчики, связанные с TLS/SSL (вместо ssl_ теперь используется префикс tls_);
  • На смену аутентификатору basic_msnt_multi_domain_auth, зависящему от Samba, пришёл basic_smb_lm_auth;
  • Добавлена директива url_rewrite_timeout;
  • Транзакции в логе теперь отражаются с точностью до долей миллисекунд;
  • Добавлена опция «ext_kerberos_ldap_group_acl -n» для отключения автоматического применения SASL/GSSAPI;
  • В обработчике security_file_certgen появился режим хранения сертификата только в оперативной памяти;
  • Добавлена поддержка HTTP-заголовка «Expect: 100-continue»;
  • Изменён механизм параллельного запуска обработчиков. Из-за возможности организации DoS-атак вместо применения массивов для инициирования запуска параллельных каналов теперь следует использовать очереди запросов со специальным 64-разрядным идентификатором;
  • Значение по умолчанию в ACL localnet (внутренние блоки IP-адресов, такие как 192.168.0.0) приведено в соответствие с RFC 6890;
  • Добавлены настройки request_start_timeout и pconn_lifetime для задания таймаутов для постоянно поддерживаемых соединений;
  • В web-интерфейс cachemgr добавлен блок статистики для срабатываний шаблонов refresh_pattern в контексте отдельных правил;
  • Кодовая база переведена на использование стандарта C++11;
  • Переработан код HTTP-парсера;
  • Улучшена поддержка распараллеливания на многопроцессорных и многоядерных системах. Задействованы атомарные операции C++11. Обеспечено корректное автоопределение модулей ввода/вывода IpcIo и Mmapped, что позволило расширить спектр систем, на которых по умолчанию применяется хранилище кэша Rock;
  • Функции обработки сигналов вынесены из основного фонового процесса в управляющий процесс, PID которого теперь записывается в файл squid.pid. Данное изменение позволило обеспечить интеграцию с внешними системами управления фоновыми процессами, такими как Upstart и systemd;
  • В исполняемом файле squid добавлена поддержка длинных параметров командной строки (—foo). Например, добавлен параметр «—foreground» для запуска основного процесса без перехода в фоновый режим (например, удобно применять вместе с опцией «-z» чтобы дождаться завершения инициализации кэша, а не возвращать управление сразу);
  • Прекращена поддержка директивы cache_peer_domain, обработчика basic_msnt_multi_domain_auth, опций refresh_pattern ignore-auth и ignore-must-revalidate, а также встроенного парсера ESI (Edge Side Includes), вместо которого следует использовать парсеры из библиотек libxml2 или libexpat.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.