Nginx 1.17.9 болон njs 0.3.9 хувилбаруудыг гаргасан

Үүссэн дээд талын хувилбар nginx 1.17.9 хувилбартай, үүний хүрээнд шинэ чадавхийг хөгжүүлэх ажил үргэлжилж байна (зэрэгцээ дэмжигдсэн тогтвортой салбар 1.16 зөвхөн ноцтой алдаа, эмзэг байдлыг арилгахтай холбоотой өөрчлөлтүүд хийгдсэн).

Үндсэн өөрчлөлт:

  • Хэд хэдэн "Хост" мөрийг зааж өгөхийг хориглоно
    хүсэлтийн толгой хэсэг;

  • Nginx нэмэлт мөрүүдийг үл тоомсорлож байсан алдааг зассан
    Хүсэлтийн толгой хэсэгт "шилжүүлэх-кодлох";

  • HTTP/2 протоколыг ашиглах үед сокет алдагдахаас урьдчилан сэргийлэх засварууд хийгдсэн;
  • OCSP үдэгчийг ашиглах үед үүссэн ажилчны үйл явц дахь сегментчилсэн алдааг зассан;
  • ngx_http_mp4_module модульд залруулга хийгдсэн;
  • 'error_page' зааврыг ашиглан 494 кодтой алдааг дахин чиглүүлэх үед 494-ийн оронд 400 кодтой хариултыг буцаах боломжтой тохиолдолд асуудлыг шийдсэн;
  • Njs модуль болон aio удирдамж дахь дэд асуулга ашиглах үед залгуур алдагдлыг зассан.

Нэмж дурдахад үүнийг тэмдэглэж болно суллах njs 0.3.9, nginx вэб серверт зориулсан JavaScript орчуулагч. Njs орчуулагч нь ECMAScript стандартуудыг хэрэгжүүлдэг бөгөөд тохиргоонд байгаа скриптүүдийг ашиглан хүсэлтийг боловсруулах nginx чадварыг өргөжүүлэх боломжийг танд олгоно. Скриптийг тохиргооны файлд ашиглаж, хүсэлтийг боловсруулах, тохиргоог үүсгэх, хариу динамикаар үүсгэх, хүсэлт/хариултыг өөрчлөх, вэб програмын асуудлыг шийдвэрлэхийн тулд stub үүсгэх зэрэг дэвшилтэт логикийг тодорхойлох боломжтой.

Шинэ хувилбарт njs модуль нь r.subrequest()-д тусдаа хүсэлтийн горимыг дэмжсэн. Тусгаарлагдсан дэд асуулгад өгсөн хариултыг үл тоомсорлодог. Энгийн дэд асуулгаас ялгаатай нь хувьсагч зохицуулагч дотор салангид дэд асуулга үүсгэж болно. Мөн:

  • "fs" модулийн API амлалтуудыг нэмсэн;
  • access(), symlink(), unlink() функцуудыг “fs” модульд нэмсэн.
    realpath() болон үүнтэй төстэй;

  • Санах ойн хэрэглээний хувьд үр ашигтай энгийн массивуудыг нэвтрүүлсэн;
  • lexer-д сайжруулалт хийсэн;
  • Арын тэмдэгт дэх үндсэн функцуудын зураглалд засвар хийгдсэн.
    ул мөр;

  • "fs" модуль дахь тогтмол дуудлагууд;
  • Object.getOwnPropertySymbols();-д залруулга хийгдсэн.
  • njs_json_append_string();
  • Тодорхойлолттой нийцүүлэхийн тулд encodeURI() болон decodeURI()-ыг зассан;
  • Number.prototype.toPrecision();-д засвар хийсэн.
  • JSON.stringify() доторх орон зайн аргументтай ажиллахыг зассан;
  • Number() болон String() объектуудын тусламжтайгаар JSON.stringify() дээр засвар хийсэн;
  • JSON.stringify()-д заасны дагуу Юникод тэмдэгтүүдээс зугтахыг хангасан
    тодорхойлолттой;

  • Төрөлхийн бус модулиудын импортод засвар хийсэн;
  • Контейнер доторх Date() жишээн дээр njs.dump()-д засвар хийсэн.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх