Выпуск nginx 1.21.2 і njs 0.6.2

Сфарміраваны выпуск асноўнай галінкі nginx 1.21.2, у рамках якой працягваецца развіццё новых магчымасцяў (у раўналежна падтрымоўванай стабільнай галінцы 1.20 уносяцца толькі змены, злучаныя з ухіленнем сур'ёзных памылак і ўразлівасцяў).

Асноўныя змены:

  • Забяспечана блакіроўка запытаў HTTP/1.0, якія ўключаюць HTTP-загаловак "Transfer-Encoding" (з'явіўся ў версіі пратаколу HTTP/1.1).
  • Спынена падтрымка экспартнага набору шыфраў.
  • Забяспечана сумяшчальнасць з бібліятэкай OpenSSL 3.0.
  • Рэалізавана перадача загалоўкаў "Auth-SSL-Protocol" і "Auth-SSL-Cipher" серверу аўтэнтыфікацыі паштовага проксі.
  • У API фільтрацыі цела запыту дазволена буферызацыя апрацоўваных дадзеных.
  • Пры загрузцы сертыфікатаў сервера наладжана выкарыстанне ўзроўняў бяспекі, якія падтрымліваюцца пачынальна з OpenSSL 1.1.0 і задаюцца праз параметр "@SECLEVEL=N" у дырэктыве ssl_ciphers.
  • Ухіленыя завісанні, якія выяўляюцца пры стварэнні SSL-злучэнні да бэкэндаў у модулях stream і gRPC.
  • Вырашана праблема з запісам на дыск цела запыту пры выкарыстанні HTTP/2, у выпадку адсутнасці ў запыце загалоўка "Content-Length".

Адначасова адбыўся выпуск njs 0.6.2, інтэрпрэтатара мовы JavaScript для вэб-сервера nginx. Інтэрпрэтатар njs рэалізуе стандарты ECMAScript і дазваляе пашыраць магчымасці nginx па апрацоўцы запытаў з дапамогай скрыптоў у канфігурацыі. Скрыпты могуць выкарыстоўвацца ў файле канфігурацыі для вызначэння пашыранай логікі апрацоўкі запытаў, фармаванні канфігурацыі, дынамічнай генерацыі адказу, мадыфікацыі запыту/адказу ці хуткага стварэння заглушак з рашэннем праблем у web-прыкладаннях. У новай версіі ў рэалізацыю Promise дададзены метады Promise.all(), Promise.allSettled(), Promise.any() і Promise.race(). Рэалізавана падтрымка аб'екта AggregateError.

Крыніца: opennet.ru

Дадаць каментар