Представлен второй выпуск основной стабильной ветки nginx 1.12.2, в рамках которой будет продолжено развитие новых возможностей (в параллельно поддерживаемой стабильной ветке 1.12 вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей). Основные изменения: Исправлена ошибка при которой клиентские SSL-соединения сразу закрывались при использовании отложенного accept и параметра proxy_protocol в директиве listen; Решена проблема с обрывом соединений при выполнении операции тестирования корректности конфигурации на платформе Linux, в случае использовании опции "reuseport" в директиве "listen"; Устранена проблема, приводившая к возвращению некорректной длины ответа на 32-разрядных системах при запросе более 4 Гб данных, разбитых несколько диапазонов (range); В модуле stream исправлена ошибка, проявляющаяся при использовании директивы 'ssl_preread' (не работало переключение на следующий бэкенд); Исправлена ошибка при использовании протокола HTTP/2, из-за которой могло быть

Выпуск nginx 1.13.6

11.10.2017 11:02
Доступен выпуск основной ветки высокопроизводительного HTTP-сервера nginx 1.13.6, в котором реализованы следующие изменения: В модуле stream исправлена ошибка, проявляющаяся при использовании директивы 'ssl_preread' (не работало переключение на следующий бэкенд); Внесены исправления в модуль ngx_http_v2_module; Исправлена ошибка на 32-битных платформах с 64-битным time_t, на которых не поддерживались даты после 2038 года; Внесены исправления в обработку дат до 1970 года и после 10000 года; В модуле stream исправлена ошибка, из-за которой таймауты ожидания UDP-пакетов от бэкендов не заносились в лог или заносились с классом info вместо error; Исправлена ошибка при использовании протокола HTTP/2, из-за которой nginx мог вернуть ошибку 400, не указав в логе причину; Внесены исправления в обработку повреждённых файлов кэша; Исправлена ошибка, приводящая к игнорированию заголовков управления кэшированием при перехвате ошибок обработчиком error_page; Исправлена ошибка при использовании протокола
Алексей Иванов из компании Dropbox подготовил полезный отчёт о результатах оптимизации web-серверов, обеспечивающих работу сервиса Dropbox Edge Network, используемого как для отдачи чувствительных к задержкам метаданных, так и для передачи больших потоков данных (десятки тысяч транзакций и десятки гигабит в секунду). В материале затрагиваются вопросы оптимизации драйверов, привязки обработки прерываний к фиксированным ядрам CPU, параметров TLS, nginx, стека TCP/IP, ядра Linux, влияние компиляторов и библиотек. Для каждой возможной оптимизации рассматривается её эффективность и вклад в увеличение общей производительности и сокращение задержек.

Выпуск nginx 1.13.5

06.09.2017 06:46
Доступен новый выпуск основной ветки высокопроизводительного HTTP-сервера nginx 1.13.5, в котором реализованы следующие изменения: Представлена новая переменная $ssl_client_escaped_cert, в которой сохраняется SSL-сертификат в экранированном однострочном представлении URL-encoded, что позволяет сразу использовать данный сертификат в параметрах HTTP-запросов и в заголовках; На платформе Windows обеспечена работа директивы "ssl_session_ticket_key" и параметра "include" директивы "geo"; Устранена проблема, приводившая к возвращению некорректной длины ответа на 32-разрядных системах при запросе более 3 Гб данных, разбитых несколько диапазонов (range); Добавлен учёт времени последнего изменения ответа при обработке строки If-Range в заголовке запроса и выполнении директивы "expires modified", если использовалось проксирование без кэширования.

Выпуск nginx 1.13.4

08.08.2017 21:40
Доступен новый выпуск основной ветки высокопроизводительного HTTP-сервера nginx 1.13.4, в котором реализованы следующие изменения: В состав добавлен модуль mirror, позволяющий зеркалировать поступающие запросы на другие серверы. Клиенту возвращается результат обработки запроса от основного обработчика, а результаты, возвращённые зеркалируемыми бэкендами, игнорируются. При помощи зеркалирования можно достаточно просто организовать работу синхронно обновляемого резервного сервера для таких сайтов, как web-форумы; Решена проблема с обрывом соединений при выполнении операции тестирования корректности конфигурации на платформе Linux, в случае использовании опции "reuseport" в директиве "listen"; Решена проблема с недоступностью тела запроса для подзапросов, если используется проксирование и в процессе заполнения кэша осуществлена запись в файл; Улучшена поддержка платформы Windows: налажена работа чистки кэша в соответствии с лимитом, заданным через парамер "max_size", решены проблемы с выделением
Представлен релиз HTTP-сервера Apache 2.4.27, в котором представлено 8 изменения, из которых половина связана с решением проблем с нарушением совместимости. В частности, отключена поддержка HTTP/2 при использовании Prefork MPM, обеспечена совместимость FastCGI c PHP-FPM (возобновлено поведение версии 2.4.20), отключен экспорт недокументированной переменной 'apr_table' в mod_lua, улучшена совместимость mod_lua с Lua 5.1, 5.2 и 5.3. Кроме того, увеличена производительность и снижено потребление памяти в mod_http2, возобновлена поддержка полей из одного символа, устранено дублирование метода HEAD в заголовке Allow. Также доступны новые выпуски основной и стабильной веток высокопроизводительного HTTP-сервера nginx - 1.12.1 и 1.13.3, в которых устранена уязвимость CVE-2017-7529. При помощи отправки специально оформленного запроса злоумышленник может вызвать целочисленное переполнение и некорректную обработку диапазонов в range-фильтре. При использовании штатного набора модулей уязвимость потенциально может

Выпуск nginx 1.13.2

28.06.2017 07:53
Доступен новый выпуск основной ветки высокопроизводительного HTTP-сервера nginx 1.13.2, в котором реализованы следующие изменения: В модуле ngx_http_headers реализована директива "add_trailer", через которую можно определить дополнительное поле, которое будет добавлено в конец ответа, если код ответа равен 200, 201, 206, 301, 302, 303, 307 или 308; Nginx теперь возвращает код ответа 200 вместо 416, если для пустого файла запрошена передача диапазона, начинающегося с нуля; Решены проблемы со сборкой в окружениях Cygwin и NetBSD, а также при использовании 64-разрядного инструментария MSYS2 / MinGW; Устранён крах рабочего процесса, который мог произойти при использовании SSI с большим числом включений и переменными proxy_pass; Исправлены ошибки в модуле ngx_http_v2.

Выпуск nginx 1.13.1

31.05.2017 06:00
Доступен новый выпуск основной ветки высокопроизводительного HTTP-сервера nginx 1.13.1, в котором реализованы следующие изменения: В директиву set_real_ip_from в качестве параметра добавлена возможность указывать имя хоста; Улучшены скрипты подсветки синтаксиса для vim; Для системы DragonFly BSD добавлена поддержка директивы worker_cpu_affinity; Исправлена ошибка, из-за которой наблюдались проблемы с повторным согласованием SSL-соединения (SSL renegotiation) с бэкендами при использовании выпусков OpenSSL до 1.1.0; Внесены исправления, решающие проблемы со сборкой nginx в Oracle Developer Studio 12.5; Внесены изменения в cache manager, обеспечившие пропуск заблокированных записей при очистке кэша по max_size; Исправлена ошибка при которой клиентские SSL-соединения сразу закрывались при использовании отложенного accept и параметра proxy_protocol в директиве listen; Внесены исправления в директиву proxy_cache_background_update; Внесены изменения в директиву tcp_nodelay, которая устанавливает опцию
Компания Яндекс опубликовала исходные тексты проекта Gixy, в рамках которого развивается статистический анализатор, предназначенный для выявления проблемных настроек в файлах конфигурации nginx, которые могут отрицательно повлиять на безопасность. Код написан на языке Python и распространяется под лицензией MPL 2.0. В настоящее время Gixy включает следующие плагины, выявляющие различные классы проблем: ssrf - выявляет уязвимость Server Side Request Forgery, позволяющую выполнять различного рода запросы от имени Nginx. Проблема возникает, когда атакующий может контролировать адрес проксируемого сервера (второй аргумент директивы proxy_pass); http_splitting - выявляет уязвимость HTTP Splitting, возникающую из-за неправильной обработки входных данных. Уязвимость может применяться для атак на приложение стоящее за Nginx (HTTP Request Splitting) или на клиентов приложения (HTTP Response Splitting). origins - выявляет проблемы с проверкой заголовка запроса Referer или Origin, обычно возникающие из-за

Выпуск nginx 1.13.0

25.04.2017 18:48
Представлен первый выпуск новой основной ветки nginx 1.13, в рамках которой будет продолжено развитие новых возможностей (в параллельно поддерживаемой стабильной ветке 1.12 вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей). Основные изменения: Для соединений с бэкендами разрешено повторное согласование SSL-соединения; В модулях mail_proxy и stream в директиве "listen" появились поддержка параметров "rcvbuf" и "sndbuf", позволяющих настроить размер буфера приёма и передачи (параметр SO_RCVBUF); Добавлена поддержка использования директив return и error_page для возврата перенаправлений для запросов с HTTP кодом 308; В директиву "ssl_protocols" добавлен параметр "TLSv1.3" для включения соответствующей версии протокола TLS; При отражении в логе сигналов в лог теперь записывается и PID процесса, отправившего сигнал; Исправлены ошибки в коде обработки выделения памяти; Исправлена ошибка в модуле stream из-за которой исходящий адрес ответного UDP-пакета мог отличаться