nginx 1.16.0 berdan

Piştî salek pêşveçûn nûnertî ji hêla şaxek nû ya stabîl a servera HTTP-a performansa bilind û servera proxy ya pirprotokolî nginx 1.16.0, ku guheztinên ku di nav şaxê sereke 1.15.x de hatine berhev kirin vedihewîne. Di pêşerojê de, hemî guhertinên di şaxê stabîl 1.16 de dê bi rakirina xeletî û qelsiyên giran ve girêdayî bin. Şaxa sereke ya nginx 1.17 dê di demek nêzîk de were damezrandin, ku di hundurê wê de pêşkeftina taybetmendiyên nû dê berdewam bike. Ji bo bikarhênerên asayî yên ku ne xwediyê peywirê ne ku lihevhatina bi modulên partiya sêyemîn re peyda bikin, pêşniyaz kirin şaxê sereke bikar bînin, li ser bingeha ku her sê mehan carekê serbestberdana hilbera bazirganî Nginx Plus têne çêkirin.

Pêşveçûnên herî berbiçav ên ku di dema pêşkeftina şaxê jorîn 1.15.x de hatine zêdekirin:

  • Добавлена возможность использования переменных в директивах ‘ssl_certificate'ez'ssl_certificate_key‘, что можно использовать для динамической загрузки сертификатов;
  • Добавлена возможность загрузки SSL-сертификатов и секретных ключей из переменных без использования промежуточных файлов;
  • В блоке «li jor» реализована новая директива «bêpayîn«, при помощи которой можно организовать балансировку нагрузки со случайным выбором сервера для проброса соединения;
  • Di modulê de ngx_stream_ssl_preread реализована переменная $ssl_preread_protocol,
    которая определяет наибольшую версию протокола SSL/TLS, которую поддерживает клиент. Переменная позволяет создавать конфигурации для доступа с использованием различных протоколов с SSL и без SSL через один сетевой порт при проксировании трафика с использованием модулей http и stream. Например, для организации доступа по SSH и HTTPS через один порт 443 порт по умолчанию можно пробрасывать на SSH, но если определена версия SSL пробрасывать на HTTPS.

  • В модуль upstream добавлена новая переменная «$upstream_bytes_sent«, которая отображает число байт, переданных на сервер группы;
  • To module herrok в рамках одного сеанса добавлена возможность обработки нескольких входящих UDP-датаграмм от клиента;
  • В модуль stream добавлена директива «proxy_requests«, задающее число датаграмм, полученных от клиента, по достижении которого удаляется привязка между клиентом и существующей UDP-сессией. После получения указанного количества датаграмм следующая датаграмма, полученная от того же клиента, начинает новую сессию;
  • В директиве listen появилась возможность указания диапазонов портов;
  • Rêbernameya zêde kir"ssl_early_data» для включения режима 0-RTT при использовании TLSv1.3, который позволяет сохранить ранее согласованные параметры TLS-соединения и снизить до 2 число RTT при возобновлении ранее установленного соединения;
  • Для настройки 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.

Source: opennet.ru

Add a comment