เวอร์ชันใหม่ของ nginx 1.25.5 และ fork FreeNginx 1.26.0

สาขาหลักของ nginx 1.25.5 ได้รับการเผยแพร่แล้ว ซึ่งการพัฒนาคุณสมบัติใหม่ยังคงดำเนินต่อไป สาขาเสถียรที่บำรุงรักษาแบบขนาน 1.24.x มีเพียงการเปลี่ยนแปลงที่เกี่ยวข้องกับการกำจัดจุดบกพร่องและช่องโหว่ร้ายแรงเท่านั้น ในอนาคต ตามสาขาหลัก 1.25.x จะมีการสร้างสาขาที่มั่นคง 1.26 รหัสโครงการเขียนด้วยภาษา C และเผยแพร่ภายใต้ใบอนุญาต BSD

ท่ามกลางการเปลี่ยนแปลง:

  • เพิ่มการรองรับเซิร์ฟเวอร์เสมือนในโมดูลสตรีมแล้ว การกำหนดค่าที่กำหนดไว้ในบล็อก "เซิร์ฟเวอร์ { ... }" โดยใช้คำสั่ง server_name เซิร์ฟเวอร์ { ชื่อเซิร์ฟเวอร์ ~^(www\.)?(.+)$; proxy_pass www.$2:12345; -
  • มีการเพิ่มโมดูลใหม่ ngx_stream_pass_module ซึ่งออกแบบมาเพื่อส่งต่อการเชื่อมต่อที่ได้รับโดยตรงไปยังซ็อกเก็ตการฟังใดๆ ที่เกี่ยวข้องกับโมดูล เช่น http, สตรีม และเมล สตรีม { เซิร์ฟเวอร์ { ฟัง 12345 ssl; ssl_certificate โดเมน.crt; ssl_certificate_key โดเมน.คีย์; ผ่าน 127.0.0.1:8000; -
  • คำสั่ง Listen ของโมดูลสตรีมใช้การสนับสนุนสำหรับพารามิเตอร์ "deferred" (เปิดใช้งานการยอมรับแบบเลื่อนออกไป), "accept_filter" (ตัวกรองการเชื่อมต่อขาเข้าที่ใช้ก่อนที่จะเรียกใช้ฟังก์ชัน Accept) และพารามิเตอร์ "setfib" (การตั้งค่าตารางเส้นทาง)
  • สำหรับสถาปัตยกรรมบางตัว มีการรองรับเพื่อกำหนดขนาดบล็อก (บรรทัดแคช) ที่ใช้ในการถ่ายโอนข้อมูลระหว่างแคช CPU และหน่วยความจำ
  • บนระบบ Apple Silicon มีการเพิ่มการรองรับตัวจัดการแพ็คเกจ Homebrew
  • ปัญหาการคอมไพล์ข้ามสำหรับ Windows ได้รับการแก้ไขแล้ว
  • แก้ไขข้อบกพร่องที่ทำให้การเชื่อมต่อถูกปิดเมื่อใช้โหมด 0-RTT ในโปรโตคอล QUIC

นอกจากนี้เรายังสามารถสังเกตการเผยแพร่โครงการ FreeNginx 1.26.0 เวอร์ชันเสถียรซึ่งพัฒนาทางแยกของ Nginx ทางแยกนี้ได้รับการพัฒนาโดย Maxim Dunin หนึ่งในนักพัฒนา Nginx คนสำคัญ FreeNginx อยู่ในตำแหน่งที่เป็นโครงการที่ไม่แสวงหาผลกำไรที่ให้การพัฒนาฐานโค้ด Nginx โดยปราศจากการแทรกแซงจากองค์กร รุ่น 1.26.0 ถูกทำเครื่องหมายว่าเป็นรุ่นเสถียร โดยผสมผสานการเปลี่ยนแปลงและการแก้ไขจากรุ่นสาขาหลักของ Nginx 1.25 เหนือสิ่งอื่นใด FreeNginx 1.26.0 มีการรองรับการทดลองสำหรับโปรโตคอล HTTP/3 การปรับปรุงเพื่อตอบโต้การโจมตี DoS และการแก้ไขที่เกี่ยวข้องกับการประมวลผล I/O แบบอะซิงโครนัส

ในเวลาเดียวกัน njs 0.8.4 เปิดตัว ซึ่งเป็นล่าม JavaScript สำหรับเว็บเซิร์ฟเวอร์ nginx ล่าม njs ใช้มาตรฐาน ECMAScript และช่วยให้คุณสามารถขยายความสามารถของ nginx ในการประมวลผลคำขอโดยใช้สคริปต์ในการกำหนดค่า สามารถใช้สคริปต์ในไฟล์การกำหนดค่าเพื่อกำหนดตรรกะขั้นสูงสำหรับการประมวลผลคำขอ การสร้างการกำหนดค่า การสร้างการตอบสนองแบบไดนามิก การแก้ไขคำขอ/การตอบสนอง หรือการสร้าง stub อย่างรวดเร็วเพื่อแก้ไขปัญหาในเว็บแอปพลิเคชัน ในเวอร์ชันใหม่: เพิ่มการรองรับเอ็นจิ้น QuickJS JavaScript ให้กับ CLI แล้ว เพิ่มความสามารถในการตั้งค่าส่วนหัวของเซิร์ฟเวอร์ ใช้การตรวจสอบความซ้ำซ้อนของตัวแปรที่ตั้งค่าผ่าน js_set

ที่มา: opennet.ru

เพิ่มความคิดเห็น