Η νέα έκδοση του 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 σε συστήματα 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".

Επιπλέον, σημειώνεται επίσης ότι προστέθηκε υποστήριξη για λειτουργία "pipelining". για αποστολή πολλαπλών αιτημάτων 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 "Transfer-Encoding" (που εισήχθη στην έκδοση πρωτοκόλλου HTTP/1.1).
  • Η πλατφόρμα FreeBSD έχει βελτιωμένη υποστήριξη για την κλήση συστήματος sendfile, η οποία έχει σχεδιαστεί για να ενορχηστρώνει μια άμεση μεταφορά δεδομένων μεταξύ ενός περιγραφέα αρχείου και μιας υποδοχής. Η λειτουργία sendfile(SF_NODISKIO) είναι μόνιμα ενεργοποιημένη και έχει προστεθεί υποστήριξη για τη λειτουργία sendfile(SF_NOCACHE).
  • Η παράμετρος "fastopen" έχει προστεθεί στη μονάδα μετάδοσης, η οποία ενεργοποιεί τη λειτουργία "TCP Fast Open" για υποδοχές ακρόασης.
  • Διορθώθηκε η διαφυγή χαρακτήρων """, "<", ">", "\", "^", "`", "{", "|" και "}" όταν χρησιμοποιείτε διακομιστή μεσολάβησης με αλλαγή URI.
  • Η οδηγία proxy_half_close έχει προστεθεί στη μονάδα ροής, με την οποία μπορεί να διαμορφωθεί η συμπεριφορά όταν μια σύνδεση TCP μεσολάβησης είναι κλειστή στη μία πλευρά ("TCP μισό κλείσιμο").
  • Προστέθηκε μια νέα οδηγία mp4_start_key_frame στη μονάδα ngx_http_mp4_module για τη ροή ενός βίντεο από ένα βασικό πλαίσιο.
  • Προστέθηκε η μεταβλητή $ssl_curve για να επιστρέψει τον τύπο της ελλειπτικής καμπύλης που επιλέχθηκε για διαπραγμάτευση κλειδιού σε μια περίοδο λειτουργίας TLS.
  • Η οδηγία sendfile_max_chunk άλλαξε την προεπιλεγμένη τιμή σε 2 megabyte.
  • Παρέχεται υποστήριξη με τη βιβλιοθήκη OpenSSL 3.0. Προστέθηκε υποστήριξη για την κλήση SSL_sendfile() κατά τη χρήση του OpenSSL 3.0.
  • Η συναρμολόγηση με τη βιβλιοθήκη PCRE2 είναι ενεργοποιημένη από προεπιλογή και παρέχει λειτουργίες για την επεξεργασία κανονικών εκφράσεων.
  • Κατά τη φόρτωση πιστοποιητικών διακομιστή, έχει προσαρμοστεί η χρήση των επιπέδων ασφαλείας που υποστηρίζονται από το OpenSSL 1.1.0 και ορίζονται μέσω της παραμέτρου "@SECLEVEL=N" στην οδηγία ssl_ciphers.
  • Καταργήθηκε η υποστήριξη εξαγωγής σουίτας κρυπτογράφησης.
  • Στο API φιλτραρίσματος σώματος αιτήματος, επιτρέπεται η προσωρινή αποθήκευση των επεξεργασμένων δεδομένων.
  • Καταργήθηκε η υποστήριξη για τη δημιουργία συνδέσεων HTTP/2 χρησιμοποιώντας την επέκταση Next Protocol Negotiation (NPN) αντί για ALPN.

Τελικά αν ενδιαφέρεστε να μάθετε περισσότερα γι 'αυτό, μπορείτε να ελέγξετε τις λεπτομέρειες Στον ακόλουθο σύνδεσμο.