nginx 1.22.0 เวอร์ชันใหม่เปิดตัวแล้ว

หลังจาก 13 เดือนของการพัฒนา เปิดตัวสาขาเสถียรใหม่ เซิร์ฟเวอร์ HTTP ประสิทธิภาพสูงและพร็อกซีเซิร์ฟเวอร์หลายโปรโตคอล nginx 1.22.0, ซึ่งรวมการเปลี่ยนแปลงที่สะสมไว้ในสาขาหลัก 1.21.x

ในอนาคต การเปลี่ยนแปลงทั้งหมดในสาขาเสถียร 1.22 จะเกี่ยวข้องกับการดีบัก และจุดอ่อนที่ร้ายแรง สาขาหลักของ nginx 1.23 จะถูกสร้างขึ้นในไม่ช้า ซึ่งการพัฒนาคุณสมบัติใหม่จะดำเนินต่อไป

สำหรับผู้ใช้ทั่วไปที่ไม่มีงานตรวจสอบความเข้ากันได้กับโมดูลของบริษัทอื่น ขอแนะนำให้ใช้สาขาหลัก โดยพิจารณาจากเวอร์ชันของผลิตภัณฑ์เชิงพาณิชย์ Nginx Plus ที่เกิดขึ้นทุกสามเดือน

ข่าวหลักใน nginx 1.22.0

ใน nginx 1.22.0 เวอร์ชันใหม่ที่นำเสนอนี้ การป้องกันขั้นสูงจากการโจมตีคลาส HTTP Request Smuggling ในระบบ front-end-backend ที่ให้คุณเข้าถึงเนื้อหาของคำขอของผู้ใช้รายอื่นที่ประมวลผลในเธรดเดียวกันระหว่าง front-end และ back-end Nginx จะส่งคืนข้อผิดพลาดเสมอเมื่อใช้วิธี CONNECT โดยการระบุส่วนหัว "ความยาวเนื้อหา" และ "การเข้ารหัสการถ่ายโอน" พร้อมกัน เมื่อมีช่องว่างหรืออักขระควบคุมในสตริงการสืบค้น ชื่อส่วนหัว HTTP หรือค่าส่วนหัว "โฮสต์"

ความแปลกใหม่อีกอย่างที่โดดเด่นในเวอร์ชั่นใหม่นี้คือ เพิ่มการสนับสนุนสำหรับตัวแปรคำสั่ง "proxy_ssl_certificate", "proxy_ssl_certificate_key", "grpc_ssl_certificate", "grpc_ssl_certificate_key", "uwsgi_ssl_certificate" และ "uwsgi_ssl_certificate_key"

นอกจากนี้ยังตั้งข้อสังเกตอีกว่าได้มีการเพิ่ม รองรับโหมด "วางท่อ" เพื่อส่งคำขอ POP3 หรือ IMAP หลายรายการในการเชื่อมต่อเดียวกันไปยังโมดูลพร็อกซีเมล ตลอดจนคำสั่ง "max_errors" ใหม่ที่ระบุจำนวนข้อผิดพลาดสูงสุดของโปรโตคอลหลังจากนั้น การเชื่อมต่อจะถูกปิด

ส่วนหัว "Auth-SSL-Protocol" และ "Auth-SSL-Cipher" ถูกส่งไปยังเซิร์ฟเวอร์การตรวจสอบสิทธิ์เมลพร็อกซี เพิ่มการรองรับส่วนขยาย ALPN TLS ลงในโมดูลการส่งสัญญาณ เพื่อกำหนดรายการของโปรโตคอล ALPN ที่รองรับ (h2, http/1.1) จะมีการเสนอคำสั่ง ssl_alpn และเพื่อรับข้อมูลเกี่ยวกับโปรโตคอล ALPN ที่ตกลงกับไคลเอ็นต์ ตัวแปร $ssl_alpn_protocol

จากการเปลี่ยนแปลงอื่น ๆ ที่โดดเด่น:

  • การบล็อกคำขอ HTTP/1.0 ที่มีส่วนหัว HTTP "การเข้ารหัสการถ่ายโอน" (แนะนำในเวอร์ชันโปรโตคอล HTTP/1.1)
  • แพลตฟอร์ม FreeBSD ได้ปรับปรุงการรองรับการเรียกระบบ sendfile ซึ่งออกแบบมาเพื่อจัดการการถ่ายโอนข้อมูลโดยตรงระหว่าง file descriptor และซ็อกเก็ต โหมด sendfile(SF_NODISKIO) เปิดใช้งานอย่างถาวร และได้เพิ่มการรองรับโหมด sendfile (SF_NOCACHE) แล้ว
  • เพิ่มพารามิเตอร์ "fastopen" ลงในโมดูลการส่งสัญญาณ ซึ่งเปิดใช้งานโหมด "TCP Fast Open" สำหรับซ็อกเก็ตการฟัง
  • แก้ไขการหลบหนีของอักขระ """, "<", ">", "\", "^", "`", "{", "|" และ "}" เมื่อใช้พร็อกซีที่มีการเปลี่ยนแปลง URI
  • เพิ่มคำสั่ง proxy_half_close ให้กับโมดูลสตรีม ซึ่งการทำงานเมื่อปิดการเชื่อมต่อ TCP พร็อกซี่ที่ด้านหนึ่ง ("TCP half-close") สามารถกำหนดค่าได้
  • เพิ่มคำสั่ง mp4_start_key_frame ใหม่ให้กับโมดูล ngx_http_mp4_module เพื่อสตรีมวิดีโอจากคีย์เฟรม
  • เพิ่มตัวแปร $ssl_curve เพื่อส่งคืนประเภทของเส้นโค้งวงรีที่เลือกสำหรับการเจรจาคีย์ในเซสชัน TLS
  • คำสั่ง sendfile_max_chunk เปลี่ยนค่าเริ่มต้นเป็น 2 เมกะไบต์;
  • รองรับไลบรารี OpenSSL 3.0 เพิ่มการรองรับการเรียก SSL_sendfile() เมื่อใช้ OpenSSL 3.0
  • แอสเซมบลีกับไลบรารี PCRE2 ถูกเปิดใช้งานโดยค่าเริ่มต้น และมีฟังก์ชันสำหรับการประมวลผลนิพจน์ทั่วไป
  • เมื่อโหลดใบรับรองเซิร์ฟเวอร์ การใช้ระดับความปลอดภัยที่รองรับตั้งแต่ OpenSSL 1.1.0 และตั้งค่าผ่านพารามิเตอร์ "@SECLEVEL=N" ในคำสั่ง ssl_ciphers ได้รับการปรับแล้ว
  • ลบการสนับสนุนชุดการเข้ารหัสการส่งออก
  • ใน API การกรองเนื้อหาคำขอ อนุญาตให้บัฟเฟอร์ของข้อมูลที่ประมวลผลได้
  • ยกเลิกการสนับสนุนสำหรับการสร้างการเชื่อมต่อ HTTP/2 โดยใช้ส่วนขยาย NPN (Next Protocol Negotiation) แทน ALPN

ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมคุณสามารถตรวจสอบรายละเอียด ในลิงค์ต่อไปนี้.


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา