Представлен (http://www.apache.org/dist/httpd/Announcement2.4.html) новый выпуск http-сервера Apache 2.4.17 (http://httpd.apache.org/), примечательный включением в состав модуля mod_http2 (http://httpd.apache.org/docs/trunk/mod/mod_http2.html) с реализацией протокола HTTP/2. Модуль построен на базе движка libnghttp2 (http://nghttp2.org/), созданного разработчиками проекта Curl и продолжающего развитие библиотеки spdylay (https://github.com/tatsuhiro-t/spdylay). Включение HTTP/2 производится через директиву Protocols (например, "Protocols h2 http/1.1").
HTTP/2.0 решает задачи повышения эффективности использования сетевых ресурсов и снижения задержек при соединении и обмене данными между клиентом и сервером, в условиях изменившихся современных реалий, при которых для загрузки сайта требуется отправить множество отдельных запросов, связанных с получением CSS, файлов JavaScript и картинок. По оценке компании Google скорость открытия страниц при использовании HTTP/2.0 в среднем увеличивается на 15-50%. С особенностями протокола HTTP/2 можно познакомиться в текста анонса (https://www.opennet.me/opennews/art.shtml?num=42236) RFC 7540.
Вторым заметным улучшением в Apache 2.4.17 является возможность использования в модулях MPM флага SO_REUSEPORT, позволяющего нескольким слушающим сокетам подключиться к одному порту для приёма соединений. Поступающие соединения и пакеты распределяются одновременно по всем подключенным через SO_REUSEPORT сокетам, что позволяет упростить распределение обработчиков соединения по разным процессам.Другие улучшения:
- В mod_ssl добавлена поддержка компиляции с библиотекой libssl, собранной в режиме OPENSSL_NO_SSL3. По умолчанию прекращено поддержка SSLv3 (опции SSLProtocol и SSLProxyProtocol установлены в "all -SSLv3");- В mod_ssl при настройке списка допустимых шифров теперь используется строка ":!aNULL:!eNULL:!EXP" вместо "!aNULL:!eNULL:!EXP:". Добавлена возможность настройки параметров шифров SUITEB*, представленных в OpenSSL 1.0.2;
- В mod_ssl добавлена поддержка извлечения форм msUPN и dnsSRV из элементов subjectAltName с типом "otherName", которые записываютя в переменные окружения SSL_{CLIENT,SERVER}_SAN_OTHER_{msUPN,dnsSRV}_n;
- В mod_substitute добавлена возможность изменения порядка слияния образцов. Настройка осуществляется при помощи директивы "SubstituteInheritBefore on|off";
- В mod_autoindex теперь допустимо использование автоиндексов без загрузки модулей mod_dir и mod_mime;
- В mod_rewrite реализована поддержка установки Cookies, содержащих символ ':', применяя ';' как альтернативный разделитель;
- В apxs добавлен вывод значений HTTPD_VERSION и HTTPD_MMN в выводе
"apxs -q";
- В mod_socache_memcache добавлена директива 'MemcacheConnTTL' для управления продолжительностью хранения данных об idle-соединениях в кэше memcached. Таймаут по молчанию увеличен с 600 микросекунд до 15 секунд.
URL: http://www.apache.org/dist/httpd/Announcement2.4.html
Новость: http://www.opennet.me/opennews/art.shtml?num=43137
По номеру релиз вроде как минорный, а выглядит совсем не минорно.
Непонятно, почему в промежуточных выпусках httpd стали проталкивать столько глобальные изменения.
> промежуточных выпусках httpd стали проталкивать столько глобальные изменения.Помирает проект по немногу…
>> промежуточных выпусках httpd стали проталкивать столько глобальные изменения.
> Помирает проект по немногу…Ога. Леннарта не хватает -- сразу бы ожил^W версия 100500 появилась!
> Помирает проект по немногу…С 1995 года это слышу
Подозреваю, ввиду того, что мажорный релиз апача -- это изменение архитектуры. По крайней мере, так было с 2.0 -> 2.2, 2.2 -> 2.4.
В этом релизе и близко подобного не наблюдается.
> SO_REUSEPORT, позволяющего нескольким слушающим сокетам подключиться к одному порту для приёма соединений.А не может ли злонамеренный процесс подключиться к тому же порту и перехватывать часть трафика?
RTFM, bro!So long as the first server sets this option before binding its socket, then any number of other servers can also bind to the same port if they also set the option beforehand. The requirement that the first server must specify this option prevents port hijacking—the possibility that a rogue application binds to a port already used by an existing server in order to capture (some of) its incoming connections or datagrams.
Если первый bind был без SO_REUSEPORT, остальные пасутся.
> А не может ли злонамеренный процесс подключиться к тому же портуЕсли у вас есть злонамеренный процесс, имеющий доступ/возможность подключиться к тому же порту, то проблемы перехватом трафика уже не ограничиваются (обычно наоборот – это только верхушка айсберга)
Ваш КО
ох переходить смысл на http/2.0 будет через года 2-3. Когда не поддерживающих браузеров не останеться да и то не везде.
переходить? включил параллельно и наслаждаешься...
дык если файлы все также клеить то и прирост минимален.
Мало кто клеит. А на GPRS инете с пингом в секунду задержки очень ощущаются.
> В mod_autoindex теперь допустимо использование автоиндексов без загрузки модулей mod_dir и mod_mime;Круто исправили: теперь passenger не получает управление при обращении к корню (только к «подкаталогам»), если загружен mod_autoindex. Пришлось отключить mod_autoindex - дальше «будем посмотреть».