หลังจากหนึ่งปีของการพัฒนา
ตามที่
ในบรรดาเว็บไซต์ที่มีผู้เข้าชมมากที่สุดในโลก ส่วนแบ่งของ nginx อยู่ที่ 25.54% (ปีที่แล้ว 26.22% สองปีที่แล้ว 23.76%) ปัจจุบันมีเว็บไซต์ประมาณ 459 ล้านเว็บไซต์ที่ใช้งาน Nginx (397 ล้านปีที่แล้ว) โดย
การปรับปรุงที่โดดเด่นที่สุดที่เพิ่มเข้ามาในระหว่างการพัฒนาสาขาอัปสตรีม 1.17.x:
- เพิ่มคำสั่งแล้ว
จำกัด_req_dry_run ซึ่งเปิดใช้งานโหมดทดลองใช้งาน ซึ่งไม่มีข้อจำกัดใดๆ เกี่ยวกับความเข้มข้นของการประมวลผลคำขอ (โดยไม่มีขีดจำกัดอัตรา) แต่ยังคงคำนึงถึงจำนวนคำขอที่เกินขีดจำกัดในหน่วยความจำที่ใช้ร่วมกัน - เพิ่มคำสั่งแล้ว
Limit_conn_dry_run ซึ่งเปลี่ยนโมดูล ngx_http_limit_conn_module ให้เป็นโหมดทดสอบการทำงาน ซึ่งไม่จำกัดจำนวนการเชื่อมต่อ แต่จะถูกนำมาพิจารณาด้วย - เพิ่มคำสั่ง "
auth_delay " ซึ่งช่วยให้คุณเพิ่มความล่าช้าให้กับคำขอที่ไม่ได้รับอนุญาตด้วยรหัสตอบกลับ 401 เพื่อลดความเข้มข้นของการเดารหัสผ่านและป้องกันการโจมตี จัดการการวัดเวลาดำเนินการของการดำเนินการ (การโจมตีด้วยเวลา) เมื่อเข้าถึงระบบที่ถูกจำกัดการเข้าถึงรหัสผ่าน ,ผลลัพธ์ของแบบสอบถามย่อย หรือจว (โทเค็นเว็บ JSON); - เพิ่มการรองรับตัวแปรในคำสั่ง "limit_rate" และ "limit_rate_after" รวมถึงในคำสั่ง "proxy_upload_rate" และ "proxy_download_rate" ของโมดูลสตรีม
- ในคำสั่ง
grpc_pass เพิ่มการรองรับการใช้ตัวแปรในพารามิเตอร์ที่กำหนดที่อยู่ หากระบุที่อยู่เป็นชื่อโดเมน ชื่อจะถูกค้นหาในกลุ่มเซิร์ฟเวอร์ที่อธิบายไว้ และหากไม่พบ จะพิจารณาโดยใช้รีโซลเวอร์ - เพิ่มตัวแปรใหม่แล้ว
$proxy_protocol_server_addr и$proxy_protocol_server_port ซึ่งมีที่อยู่เซิร์ฟเวอร์และพอร์ตที่ได้รับจากส่วนหัวโปรโตคอล PROXY - ในโมดูล
ngx_stream_limit_conn_module เพิ่มตัวแปรแล้ว$limit_conn_status ซึ่งเก็บผลลัพธ์ของการจำกัดจำนวนการเชื่อมต่อ: PASSED, REJECTED หรือ REJECTED_DRY_RUN; - ในโมดูล
ngx_http_limit_req_module เพิ่มตัวแปรแล้ว$limit_req_status ซึ่งเก็บผลลัพธ์ของการจำกัดอัตราการมาถึงของคำขอ: PASSED, DELAYED, REJECTED, DELAYED_DRY_RUN หรือ REJECTED_DRY_RUN; - ตามค่าเริ่มต้น โมดูลจะถูกประกอบขึ้น
ngx_http_postpone_filter_module ; - เพิ่มการสนับสนุนสำหรับการสลับบล็อกที่มีชื่อ "ตำแหน่ง" โดยใช้เมธอด $r->internal_redirect() ที่จัดทำโดยล่าม Perl ในตัว วิธีการนี้เกี่ยวข้องกับการประมวลผล URI ด้วยอักขระหลีก
- เมื่อใช้คำสั่ง "upstream" ในบล็อกการตั้งค่า "upstream"
กัญชา » เพื่อจัดระเบียบการทำโหลดบาลานซ์ด้วยการเชื่อมโยงไคลเอนต์-เซิร์ฟเวอร์ หากคุณระบุค่าคีย์ว่าง ตอนนี้โหมดการปรับสมดุลแบบสม่ำเสมอ (round-robin) จะถูกเปิดใช้งาน - เพิ่มการรองรับการโทร ioctl (FIONREAD) หากมีเพื่อหลีกเลี่ยงการอ่านจากการเชื่อมต่อที่รวดเร็วเมื่อเวลาผ่านไป
ที่มา: opennet.ru