Nginx 1.26.0 มาพร้อมกับการรองรับ HTTP/3 การป้องกันการโจมตี DoS และอื่นๆ

Nginx

Nginx เป็นเว็บเซิร์ฟเวอร์/พร็อกซีย้อนกลับและพร็อกซีที่มีน้ำหนักเบาประสิทธิภาพสูง

เพิ่งประกาศ การเปิดตัวเวอร์ชันใหม่ของ Nginx 1.26.0ซึ่งจัดเป็นเวอร์ชันเสถียรและนำการเปลี่ยนแปลงและการปรับปรุงทั้งหมดที่เกิดขึ้นระหว่างการพัฒนาเวอร์ชัน 1.25 ไปใช้

สำหรับผู้ที่ไม่ทราบเกี่ยวกับ Nginx คุณควรรู้ไว้ เป็นเว็บเซิร์ฟเวอร์/พร็อกซีย้อนกลับที่มีน้ำหนักเบา ประสิทธิภาพและพร็อกซีสำหรับโปรโตคอลอีเมล (IMAP/POP3) นั้น ใช้สถาปัตยกรรมแบบอะซิงโครนัสตามเหตุการณ์เพื่อจัดการคำขอพร้อมกันจำนวนมาก. ออกแบบมาเพื่อจัดการเนื้อหาแบบสแตติกและไดนามิก และสามารถใช้เพื่อแสดงเว็บเพจ สตรีมมีเดีย และคำขอ API

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

ใน Nginx 1.26.0 เวอร์ชันใหม่นี้ หนึ่งในการปรับปรุงที่โดดเด่นที่สุดระหว่างการพัฒนาสาขาหลักของ nginx 1.25.x คือ การสนับสนุนการทดลองสำหรับ HTTP/3 โดยใช้โมดูล ngx_http_v3 ซึ่งใช้ QUIC เป็นพาหนะสำหรับ HTTP/2 QUIC เป็นส่วนขยายของโปรโตคอล UDP ที่นำเสนอการเชื่อมต่อและวิธีการเข้ารหัสที่หลากหลายเทียบเท่ากับ TLS/SSL

การเปลี่ยนแปลงที่โดดเด่นอีกอย่างหนึ่งคือการแนะนำของ แยกคำสั่ง "http2" เพื่อเลือกเปิดใช้งานโปรโตคอล HTTP/2 บนเซิร์ฟเวอร์แต่ละเครื่อง ลบการสนับสนุนการพุชเซิร์ฟเวอร์สำหรับ HTTP/2 เพื่อเพิ่มประสิทธิภาพการทำงานของโปรโตคอล

นอกจากนี้ใน Nginx 1.26.0 ใช้มาตรการป้องกันต่อกิจกรรมไคลเอ็นต์ HTTP/2 ที่ผิดปกติและการโจมตี DoS ประเภท «รีเซ็ตอย่างรวดเร็ว«, การจำกัดจำนวนคำขอต่อการเชื่อมต่อและการจำกัดการสร้างเธรดใหม่

มีข้อสังเกตว่ามันถูกเพิ่มเข้ามาด้วย รองรับเซิร์ฟเวอร์เสมือนไปยังโมดูลสตรีมมิ่ง ช่วยให้เซิร์ฟเวอร์เสมือนได้รับการกำหนดค่าในบล็อก “เซิร์ฟเวอร์ {…}” ตลอดจนการแนะนำโมดูล ngx_stream_pass_module เพื่อส่งต่อการเชื่อมต่อโดยตรงไปยังตัวเชื่อมต่อการรับฟังใดๆ ที่เกี่ยวข้องกับโมดูล เช่น http, สตรีม และเมล สิ่งนี้ช่วยเพิ่มความสามารถในการส่งผ่านการเชื่อมต่อโฟลว์ไปยังซ็อกเก็ตการฟังโดยตรง และเพิ่มประสิทธิภาพในการจัดการการเชื่อมต่อโดยการลดค่าใช้จ่ายและเวลาแฝงที่เกี่ยวข้องกับการกำหนดเส้นทางการเชื่อมต่อเพิ่มเติม

ของ การเปลี่ยนแปลงอื่น ๆ ที่โดดเด่น ของเวอร์ชันใหม่นี้:

  • ขณะนี้คำสั่ง Listener ของโมดูลสตรีมสนับสนุนพารามิเตอร์เพิ่มเติม เช่น "deferred", "accept_filter" และ "setfib"
  • ใช้งานการสนับสนุนสำหรับการกำหนดขนาดบล็อกที่ใช้ในการถ่ายโอนข้อมูลระหว่างแคช CPU และหน่วยความจำบนสถาปัตยกรรมบางตัว
  • การจัดการบัฟเฟอร์ที่ใช้ในการตรวจหาการเชื่อมต่อ HTTP/2 โดยอัตโนมัติได้รับการปรับปรุงอย่างมาก
  • ปรับปรุงประสิทธิภาพได้สำเร็จเมื่อเรียกใช้การกำหนดค่าด้วยนโยบายตำแหน่งจำนวนมาก
  • มีการรองรับการตรวจจับบรรทัดแคชหรือขนาดบล็อก สามารถใช้งานได้กับสถาปัตยกรรมบางประเภท และจำเป็นอย่างยิ่งสำหรับการถ่ายโอนข้อมูลระหว่างหน่วยความจำและแคช CPU
  • คำสั่ง "ssl" ซึ่งก่อนหน้านี้มีป้ายกำกับว่า "ล้าสมัย" ได้ถูกยกเลิกแล้ว
  • รองรับ Homebrew บน Apple Silicon
  • การแก้ไขข้อบกพร่องและการปรับปรุงการคอมไพล์ข้าม Windows
  • แก้ไขการปิดการเชื่อมต่อที่ไม่คาดคิดเมื่อใช้ 0-RTT ใน QUIC

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

รับ nginx 1.26

สำหรับผู้ที่สนใจสามารถรับเวอร์ชันใหม่ได้ จะต้องดำเนินการดังต่อไปนี้ แล้วแต่กรณีของการแจกจ่าย

สำหรับ 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

ตอนนี้สำหรับกรณีของ Amazon Linux 2023พวกเขาควรพิมพ์:

sudo yum install yum-utils

เราเพิ่มสิ่งต่อไปนี้ใน /etc/yum.repos.d/nginx.repo โดยมีเนื้อหาต่อไปนี้:

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/amzn/2023/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
priority=9

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/amzn/2023/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
priority=9

และเราดำเนินการติดตั้งด้วย:

sudo yum instalar nginx

สุดท้ายนี้ สำหรับผู้ที่ชื่นชอบการคอมไพล์แพ็คเกจ สามารถทำได้โดยใช้คำสั่งต่อไปนี้ (เมื่อดาวน์โหลดแล้วและอยู่ในไดเร็กทอรีโค้ด):

./configure
make
sudo make install

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

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

*

*

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