شاخه اصلی 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 به باطن در ماژول های جریان و gRPC رخ داده است.
- مشکل نوشتن بدنه درخواست روی دیسک هنگام استفاده از HTTP/2، در غیاب هدر "Content-Length" در درخواست، حل شده است.
در همان زمان، njs 0.6.2 منتشر شد، یک مفسر جاوا اسکریپت برای وب سرور nginx. مفسر njs استانداردهای ECMAScript را پیادهسازی میکند و به شما امکان میدهد توانایی nginx را برای پردازش درخواستها با استفاده از اسکریپتهای موجود در پیکربندی گسترش دهید. اسکریپت ها را می توان در یک فایل پیکربندی برای تعریف منطق پیشرفته برای پردازش درخواست ها، ایجاد پیکربندی، ایجاد پاسخ به صورت پویا، تغییر درخواست/پاسخ یا ایجاد سریع خرد برای حل مشکلات در برنامه های وب استفاده کرد. در نسخه جدید متدهای Promise.all()، Promise.allSettled()، Promise.any() و Promise.race() به پیاده سازی Promise اضافه شده است. پشتیبانی از شی AggregateError پیاده سازی شده است.
منبع: opennet.ru