Релиз nginx 1.16.0

След година разработка беше представена новата стабилна версия на високопроизводителен HTTP сървър и многопротоколен прокси-сървър nginx 1.16.0, която събира промени, натрупани в основната версия 1.15.x. В бъдеще всички изменения в стабилната версия 1.16 ще бъдат свързани с отстраняване на сериозни грешки и уязвимости. Скоро ще бъде оформена основната версия nginx 1.17, в която ще продължи развитието на нови функции. За обикновените потребители, които нямат задача да осигурят съвместимост с външни модули, се препоръчва препоръчително е да използват основната версия, на базата на която на всеки три месеца се оформят издания на търговския продукт Nginx Plus.

Най-забележимите подобрения, добавени в процеса на оформяне на основната версия 1.15.x:

  • Добавена е възможността за използване на променливи в директивите ‘ssl_certificate‘ и ‘ssl_certificate_key‘, което може да се използва за динамично зареждане на сертификати;
  • Добавена е възможност за зареждане на SSL сертификати и секретни ключове от променливи без използване на междинни файлове;
  • В блока ‘upstream‘ е реализирана нова директива ‘random‘, с помощта на която може да се организира балансиране на натоварването с случайно избиране на сървър за пренасочване на връзката;
  • В модула ngx_stream_ssl_preread е реализирана променлива $ssl_preread_protocol,
    която определя най-високата версия на протокола SSL/TLS, която клиентът поддържа. Променливата позволява да се създават конфигурации за достъп с различни протоколи с SSL и без SSL през един мрежови порт при проксиране на трафика с използване на модули http и stream. Например, за организиране на достъп по SSH и HTTPS през един порт 443, порт по подразбиране може да бъде пренасочен към SSH, но ако е определена версия на SSL, да бъде пренасочен към HTTPS.
  • В модула upstream е добавена нова променлива ‘$upstream_bytes_sent‘, която показва броя на байтовете, предадени на сървъра на групата;
  • В модула stream в рамките на една сесия е добавена възможността за обработка на няколко входящи UDP датаграми от клиента;
  • В модула stream е добавена директивата ‘proxy_requests‘, която задава броя на датаграмите, получени от клиента, при достигане на който се премахва свързването между клиента и съществуващата UDP сесия. След получаване на посочения брой датаграми, следващата датаграма, получена от същия клиент, започва нова сесия;
  • В директивата listen се появи възможност за указване на диапазони от портове;
  • Добавена е директива «ssl_early_data» за активиране на режима 0-RTT , използвайки TLSv1.3, който позволява запазването на предварително уговорените параметри на TLS-свързването и намаляване на RTT до 2 при възобновяване на предишно установена връзка;
  • За настройване на keepalive за изходящи връзки (включване или изключване на опциите SO_KEEPALIVE за сокетите) са добавени нови директиви:
    • «proxy_socket_keepalive» — конфигурира поведението на «TCP keepalive» за изходящи връзки към прокси-сървъра;
    • «fastcgi_socket_keepalive» — конфигурира поведението на «TCP keepalive» за изходящи връзки към FastCGI-сървъра;
    • «grpc_socket_keepalive» — конфигурира поведението на «TCP keepalive» за изходящи връзки към gRPC-сървъра;
    • «memcached_socket_keepalive» — конфигурира поведението на «TCP keepalive» за изходящи връзки към memcached-сървъра;
    • «scgi_socket_keepalive» — конфигурира поведението на «TCP keepalive» за изходящи връзки към SCGI-сървъра;
    • «uwsgi_socket_keepalive» — конфигурира поведението на «TCP keepalive» за изходящи връзки към uwsgi-сървъра.
  • В директивата «limit_req » е добавен нов параметър «delay», който задава лимит, след който излишните заявки се забавят;
  • В блока «upstream» са добавени нови директиви «keepalive_timeout» и «keepalive_requests» за задаване на лимити за Keepalive;
  • Директивата «ssl» е обявена за остаряла, а на нейно място е параметърът «ssl» в директивата «listen». Определянето на липсващите SSL-сертификати сега се извършва на етапа на проверка на конфигурацията, когато се използва директивата «listen» с параметъра «ssl»;
  • При използване на директивата reset_timedout_connection, когато изтече таймаутът на връзката, тя сега се затваря с код 444;
  • SSL-грешките «http request», «https proxy request», «unsupported protocol» и «version too low» сега се записват в лога с ниво «info» вместо «crit»;
  • Добавена е поддръжка на метода poll на системи Windows при използване на Windows Vista и по-нови;
  • Осигурена е възможност за използване на TLSv1.3 при компилация с библиотеката BoringSSL, а не само с OpenSSL.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster