Nginx เป็นเว็บเซิร์ฟเวอร์/พร็อกซีย้อนกลับและพร็อกซีที่มีน้ำหนักเบาประสิทธิภาพสูง
หลังจาก 11 เดือนของการพัฒนา การเปิดตัว สาขาใหม่ที่เสถียรของเซิร์ฟเวอร์ HTTP ประสิทธิภาพสูงและพร็อกซีเซิร์ฟเวอร์หลายโปรโตคอล nginx 1.24.0ซึ่งรวมการเปลี่ยนแปลงสะสมในสาขาหลัก 1.23.x
ในอนาคต การเปลี่ยนแปลงทั้งหมดในสาขาที่เสถียรของ 1.24 จะเกี่ยวข้องกับการลบข้อบกพร่องและช่องโหว่ที่ร้ายแรง ในไม่ช้าสาขาหลักของ nginx 1.25 จะถูกสร้างขึ้นซึ่งการพัฒนาคุณสมบัติใหม่จะดำเนินต่อไป
ตามรายงานเดือนมีนาคมของ Netcraft nginx ถูกใช้บน 18,94% ของไซต์ที่ใช้งานทั้งหมด (20,08% เมื่อหนึ่งปีที่แล้ว 20,15% เมื่อสองปีที่แล้ว) ซึ่งเป็นไซต์ยอดนิยมอันดับสองในหมวดหมู่นี้ (ส่วนแบ่งของ Apache สอดคล้องกับ 20,52% (22,58 % ปีที่แล้ว สองแพลตฟอร์มที่ใช้ nginx และ LuaJIT) – 7,94% (8,01%)
ข่าวหลักใน nginx 1.24.0
ในเวอร์ชันใหม่นี้ที่มาจาก nginx 1.24.0 โปรโตคอล TLSv1.3 ถูกเปิดใช้งานตามค่าเริ่มต้น และนั่นคือมันมีการปรับปรุงความปลอดภัยและประสิทธิภาพมากมาย นอกเหนือจากการช่วยเพิ่มความเร็วการเชื่อมต่อที่เข้ารหัสให้มากยิ่งขึ้นด้วยตัวเลือกต่างๆ เช่น TLS false start และ Zero Round Trip Time (0RTT)
การเปลี่ยนแปลงที่โดดเด่นอีกอย่างหนึ่งในเวอร์ชันใหม่นี้คือการที่เราจัดให้มีการหมุนเวียนคีย์การเข้ารหัสอัตโนมัติสำหรับตั๋วเซสชัน TLS ซึ่งจะใช้เมื่อใช้หน่วยความจำที่ใช้ร่วมกันในคำสั่ง ssl_session_cache
บน Windows เพิ่มการรองรับสำหรับ ตัวละครที่ไม่ใช่ ASCII ในชื่อไฟล์ ไปยังโมดูล ngx_http_autoindex_module และ ngx_http_dav_module ตลอดจนคำสั่ง include บน Windows nginx ยังสร้างด้วย OpenSSL 3.0
ของ การเปลี่ยนแปลงอื่น ๆ ซึ่งโดดเด่นกว่า nginx 1.24.0:
- เพิ่มการรองรับตัวแปร "$proxy_protocol_tlv_*" ซึ่งเก็บค่าของฟิลด์ TLV (Type-Length-Value) ที่ปรากฏในโปรโตคอล PROXY v2 Type-Length-Value
- เพิ่มการรองรับช่วงไบต์ให้กับโมดูล ngx_http_gzip_static_module
- เพิ่มพารามิเตอร์ ipv4=off ไปยังคำสั่งตัวแก้ไข ซึ่งอนุญาตให้คุณปิดใช้งานการค้นหาที่อยู่ IPv4 เมื่อแก้ไขชื่อและที่อยู่
- API ภายในที่ออกแบบใหม่ บรรทัดส่วนหัวจะถูกส่งผ่านเป็นรายการที่เชื่อมโยง
- จัดเตรียมการต่อสตริงส่วนหัวที่มีชื่อเหมือนกันเมื่อส่งผ่านไปยังแบ็กเอนด์ FastCGI, SCGI และ uwsgi ในเมธอด $r->header_in() ของ ngx_http_perl_module และในตัวแปร "$http_…", "$sent_http_…", "$ send_trailer_..." , “$upstream_http_…” และ “$upstream_trailer_…”
- ให้คำเตือนในกรณีที่มีการแทนที่การกำหนดค่าของโปรโตคอลที่ใช้สำหรับซ็อกเก็ตการฟัง
- ระดับการบันทึกของข้อผิดพลาด SSL จำนวนมากถูกลดระดับจาก Critical เป็น Informational
- เพิ่มประสิทธิภาพการใช้หน่วยความจำในการกำหนดค่าด้วยพร็อกซี SSL
- เปลี่ยน: ระดับบันทึกของ "ความยาวข้อมูลยาวเกินไป", "ความยาวสั้นเกินไป", "รุ่นเดิมที่ไม่ถูกต้อง", "ไม่มีอัลกอริทึมลายเซ็นที่ใช้ร่วมกัน", "ความยาวการย่อยที่ไม่ดี", "ไม่มีส่วนขยาย sigalgs", "ความยาวที่เข้ารหัสยาวเกินไป" » , «ความยาวไม่ถูกต้อง», «การอัปเดตคีย์ไม่ถูกต้อง», «ข้อมูลจับมือและไม่ใช่การจับมือแบบผสม», «ได้รับ ccs ก่อนกำหนด», «ข้อมูลระหว่าง ccs และเสร็จสิ้น», «ความยาวของแพ็คเก็ตยาวเกินไป», «การเตือนเตือนมากเกินไป», " บันทึกเล็กเกินไป" และ "ได้ฟินก่อนซีซี"
ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติม คุณสามารถตรวจสอบรายละเอียด ในลิงค์ต่อไปนี้.
สำหรับผู้ใช้ทั่วไปที่ไม่มีงานตรวจสอบความเข้ากันได้กับโมดูลของบริษัทอื่น ขอแนะนำให้ใช้สาขาหลัก โดยพิจารณาจากเวอร์ชันของผลิตภัณฑ์เชิงพาณิชย์ Nginx Plus ที่เกิดขึ้นทุกสามเดือน
รับ nginx 1.24.0
สำหรับผู้ที่สนใจสามารถรับเวอร์ชันใหม่ได้ จะต้องดำเนินการดังต่อไปนี้ แล้วแต่กรณีของการแจกจ่าย
สำหรับ RHEL และอนุพันธ์ คุณต้องเพิ่มที่เก็บด้วยคำสั่งต่อไปนี้:
sudo nano /etc/yum.repos.d/nginx.repo
และเพิ่มสิ่งนี้ในตอนท้าย
[nginx] name=nginx repo baseurl=https://nginx.org/packages/rhel/$releasever/$basearch/ gpgcheck=0 enabled=1
และเราติดตั้งด้วย:
dnf install nginx
ในขณะที่สำหรับ Ubuntu และอนุพันธ์ของมัน พวกเขาต้องพิมพ์สิ่งต่อไปนี้:
sudo nano etc/apt/sources.list.d/nginx.list
และเพิ่มสิ่งนี้ลงในไฟล์:
deb https://nginx.org/packages/ubuntu/ $(lsb_release -sc) nginx deb-src https://nginx.org/packages/ubuntu/ $(lsb_release -sc) nginx
และเราดำเนินการติดตั้งด้วย:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key sudo apt update sudo apt install nginx
สุดท้ายนี้ สำหรับผู้ที่ชื่นชอบการคอมไพล์แพ็คเกจ สามารถทำได้โดยใช้คำสั่งต่อไปนี้ (เมื่อดาวน์โหลดแล้วและอยู่ในไดเร็กทอรีโค้ด):
./configure make sudo make install
เป็นคนแรกที่จะแสดงความคิดเห็น