แนะนำ เปิดตัวครั้งแรกของสาขาหลักใหม่ nginx 1.17ซึ่งภายในการพัฒนาขีดความสามารถใหม่จะดำเนินต่อไป (ควบคู่กันไปอย่างเสถียร สาขา 1.16 มีเพียงการเปลี่ยนแปลงที่เกี่ยวข้องกับการกำจัดข้อผิดพลาดร้ายแรงและช่องโหว่เท่านั้น)
หลัก การเปลี่ยนแปลง:
- เพิ่มการรองรับตัวแปรในคำสั่ง "limit_rate" และ "limit_rate_after" รวมถึงในคำสั่ง "proxy_upload_rate" และ
"proxy_download_rate" ของโมดูลสตรีม
- ข้อกำหนดที่เพิ่มขึ้นสำหรับเวอร์ชันขั้นต่ำที่รองรับของ OpenSSL - 0.9.8;
- ตามค่าเริ่มต้น โมดูล ngx_http_postpone_filter_module จะถูกสร้างขึ้น
- ปัญหาเกี่ยวกับคำสั่ง "รวม" ไม่ทำงานภายในบล็อก "if" และ "limit_ยกเว้น" ได้รับการแก้ไขแล้ว
- แก้ไขข้อบกพร่องเมื่อประมวลผลค่าไบต์ "พิสัย"
ท่ามกลางการปรับปรุงที่สำคัญที่คาดหวังในสาขา 1.17 มีการกล่าวถึงการดำเนินการสนับสนุนโปรโตคอล QUIC และ HTTP/3.
นอกจากนี้ยังสามารถสังเกตได้ ปัญหา njs 0.3.2 ซึ่งเป็นล่าม JavaScript สำหรับเว็บเซิร์ฟเวอร์ nginx ล่าม njs ใช้มาตรฐาน ECMAScript และช่วยให้คุณสามารถขยายความสามารถของ nginx ในการประมวลผลคำขอโดยใช้สคริปต์ในการกำหนดค่า สามารถใช้สคริปต์ในไฟล์การกำหนดค่าเพื่อกำหนดตรรกะขั้นสูงสำหรับการประมวลผลคำขอ การสร้างการกำหนดค่า การสร้างการตอบสนองแบบไดนามิก การแก้ไขคำขอ/การตอบสนอง หรือการสร้าง stub อย่างรวดเร็วเพื่อแก้ไขปัญหาในเว็บแอปพลิเคชัน
njs รุ่นใหม่เพิ่มการรองรับเทมเพลตสตริงที่กำหนดไว้ในข้อกำหนด ECMAScript6. เทมเพลตสตริงคือตัวอักษรสตริงที่อนุญาตให้มีนิพจน์อยู่ในบรรทัด นิพจน์ถูกกำหนดไว้ในบล็อก ${...} ที่วางอยู่ภายในบรรทัด ซึ่งสามารถรวมทั้งตัวแปรแต่ละตัว (${name}) และนิพจน์ (${5 + a + b})) นอกจากนี้ ยังมีการเพิ่มการรองรับกลุ่มที่มีชื่อลงในออบเจ็กต์ RegExp ซึ่งช่วยให้คุณสามารถเชื่อมโยงส่วนของสตริงที่จับคู่ด้วยนิพจน์ทั่วไปกับชื่อเฉพาะ แทนที่จะเป็นหมายเลขซีเรียลของรายการที่ตรงกัน เพิ่มการสนับสนุนสำหรับการสร้างด้วยไลบรารี GNU Readline
ที่มา: opennet.ru