Релиз http-сервера nginx 1.6.0


После года разработки представлена новая стабильная ветка высокопроизводительного HTTP-сервера nginx 1.6.0, которая вобрала в себя изменения, накопленные в рамках основной ветки 1.5.x. В дальнейшем все изменения в стабильной ветке 1.6 будут связаны с устранением серьёзных ошибок и уязвимостей. Одновременно сформирована основная ветка nginx 1.7, в рамках которой будет продолжено развитие новых возможностей. Для обычных пользователей, у которых нет задачи обеспечить совместимость со сторонними модулями, рекомендуетсяиспользовать основную ветку, на базе которой раз в три месяца формируются выпуски коммерческого продукта Nginx Plus.

В соответствии с апрельским отчетом компании Netcraft nginx используется на 14.22% всех активных сайтов (год назад 12.91%), что соответствует второму месту по популярности в данной категории (доля Apache соответствует 52.44%, а Microsoft IIS — 11.08%). Доля nginx среди всех сайтов составляет 15.25% (год назад 14.81%), среди миллиона самых посещаемых сайтов в мире — 17.82% (год назад 12.96%). В настоящее время под управлением nginx работает около 146.2 млн сайтов (год назад 96.1 млн). По данным W3Techs 20.4% из миллиона самых посещаемых сайтов в мире используют nginx, в апреле прошлого года этот показатель составлял 16.1%. В России nginx используется на 68.6% самых посещаемых сайтов (год назад — 66.3%).

Из улучшений, добавленных в процессе формирования основной ветки 1.5.x, можно отметить:

  • Новый модуль ngx_http_auth_request_module, для организации авторизации клиента на основании результата запроса по определённому URI (например, при успешной авторизации в другой директории);
  • В модуле ngx_http_spdy_module добавлена поддержка протокола SPDY 3.1. Для ограничения скорости передачи ответов клиенту в SPDY-соединениях теперь допускается использовать директиву limit_rate;
  • В модуль ngx_http_proxy_module добавлена возможность подтверждения корректности содержимого просроченных элементов кэша при помощи условных запросов с полем заголовка If-Modified-Since;
  • Новые переменные:
    • $ssl_session_reused — возвращает «r», если сессия была использована повторно;
    • $proxy_protocol_addr — адрес клиента, полученный из заголовка протокола PROXY;
  • Новые директивы:
    • ngx_http_ssi_module: ssi_last_modified, sub_filter_last_modified и xslt_last_modified для сохранения в поле заголовка Last-Modified исходного ответа во время обработки SSI;
    • ngx_http_fastcgi_module: fastcgi_buffering для управления буферизацией ответов FastCGI-сервера;
    • proxy_cache_revalidate, fastcgi_cache_revalidate, scgi_cache_revalidate и uwsgi_cache_revalidate для ревалидации просроченных элементов кэша при помощи условных запросов с полем заголовка If-Modified-Since;
    • ngx_http_ssl_module: ssl_buffer_size (размер буфера, используемого при отправке данных), ssl_session_ticket_key, ssl_session_tickets (возобновление сессий при помощи TLS session tickets);
    • ngx_http_proxy_module: proxy_ssl_protocols и proxy_ssl_ciphers (разрешает указанные протоколы и шифры для запросов к проксируемому HTTPS-серверу);
    • ngx_http_spdy_module: spdy_chunk_size (максимальный размер частей, на которые будет разделяться тело ответа);
  • Возможность использования нескольких директив error_log;
  • В директивы allow и deny добавлена поддержка unix domain сокетов;
  • В директиву listen добавлена поддержка параметра fastopen;
  • В директивы proxy_next_upstream, fastcgi_next_upstream, scgi_next_upstream и uwsgi_next_upstream добавлена поддержка параметра http_403;
  • Директива disable_symlinks теперь использует O_PATH в Linux;
  • При использовании длинных цепочек сертификатов задействована оптимизация SSL handshake;
  • В почтовый прокси-сервер добавлена поддержка SMTP pipelining;
  • В resolver добавлена поддержка IPv6;
  • В секцию contrib добавлены скрипты для подсветки синтаксиса в vim
  • В модуль ngx_http_uwsgi_module добавлена поддержка SSL;
  • В модуле ngx_http_mp4_module обеспечен пропуск дорожек, имеющих меньшую длину, чем запрошенная перемотка. Обеспечена поддержка byte ranges и аргумента end;
  • В директивы listen и real_ip_header добавлен параметр proxy_protocol;
  • Поддержка byte ranges при сохранении ответов в кэш.

Новшества, представленные в выпуске nginx 1.7.0:

  • Поддержка верификации SSL-сертификатов бэкендов;
  • Поддержка SNI (Server Name Indication, позволяет обеспечить доступ через шифрованное соединение к виртуальным хостам на одном IP) при работе с бэкендами по SSL;
  • Новая переменная $ssl_server_name.
  • Возможность использования параметра «if» в директиве access_log.
26.04.2014    2:36 571

В категориях

Новости