انتشار nginx 1.17.9 و njs 0.3.9

شکل گرفت انتشار بالادست nginx 1.17.9، که در آن توسعه قابلیت های جدید ادامه دارد (به طور موازی پایدار است شعبه 1.16 فقط تغییرات مربوط به حذف خطاها و آسیب پذیری های جدی ایجاد می شود).

اصلی تغییرات:

  • تعیین چندین خط "Host" در آن ممنوع است
    هدر درخواست؛

  • رفع اشکالی که در آن nginx خطوط اضافی را نادیده می گرفت
    "Transfer-Encoding" در هدر درخواست؛

  • برای جلوگیری از نشت سوکت در هنگام استفاده از پروتکل HTTP/2، اصلاحاتی انجام شده است.
  • رفع یک خطای تقسیم بندی در فرآیند کارگر که هنگام استفاده از منگنه OCSP رخ می دهد.
  • اصلاحات در ماژول ngx_http_mp4_module انجام شده است.
  • حل مشکل در مواردی که هنگام تغییر مسیر خطاها با کد 494 با استفاده از دستورالعمل 'error_page'، می‌توان به جای 494 پاسخی با کد 400 برگرداند.
  • هنگام استفاده از سوالات فرعی در ماژول njs و دستورالعمل aio، نشت سوکت رفع شد.

علاوه بر این، می توان به آن اشاره کرد رها کردن njs 0.3.9، یک مفسر جاوا اسکریپت برای وب سرور nginx. مفسر njs استانداردهای ECMAScript را پیاده سازی می کند و به شما امکان می دهد توانایی nginx را برای پردازش درخواست ها با استفاده از اسکریپت های موجود در پیکربندی گسترش دهید. اسکریپت ها را می توان در یک فایل پیکربندی برای تعریف منطق پیشرفته برای پردازش درخواست ها، ایجاد پیکربندی، ایجاد پاسخ به صورت پویا، تغییر درخواست/پاسخ یا ایجاد سریع خرد برای حل مشکلات در برنامه های وب استفاده کرد.

در نسخه جدید، ماژول njs پشتیبانی از حالت درخواست جدا شده را در r.subrequest() اضافه کرده است. پاسخ به سوالات فرعی جدا شده نادیده گرفته می شود. برخلاف پرس و جوهای فرعی معمولی، یک پرس و جو فرعی جدا شده را می توان در داخل یک کنترل کننده متغیر ایجاد کرد. همچنین:

  • API Promises برای ماژول "fs" اضافه شد.
  • توابع access()، symlink()، unlink()، به ماژول "fs" اضافه شده اند.
    realpath() و مشابه

  • آرایه های معمولی، کارآمد از نظر مصرف حافظه، معرفی شده اند.
  • بهبودهایی در lexer انجام شده است.
  • اصلاحی برای نگاشت توابع بومی در بک‌تریس انجام شده است.
    آثار؛

  • تماس های پاسخ به تماس ثابت در ماژول "fs".
  • اصلاحات در Object.getOwnPropertySymbols();
  • سرریز پشته بافر در njs_json_append_string();
  • encodeURI() و decodeURI() برای مطابقت با مشخصات ثابت شد.
  • تصحیح برای Number.prototype.toPrecision();
  • مدیریت ثابت آرگومان فضایی در JSON.stringify();
  • برای JSON.stringify() با اشیاء Number() و String() یک اصلاح ایجاد کرد.
  • مطابق با () فرار از کاراکترهای یونیکد در JSON.stringify ارائه شده است
    با مشخصات؛

  • اصلاحی برای واردات ماژول های غیر بومی انجام شده است.
  • برای njs.dump() با یک نمونه Date() در ظرف اصلاح کرد.

منبع: opennet.ru

اضافه کردن نظر