Έκδοση nginx 1.16.0

Μετά από ένα χρόνο ανάπτυξης παρουσιάζονται νέος σταθερός κλάδος διακομιστή HTTP υψηλής απόδοσης και διακομιστή μεσολάβησης πολλαπλών πρωτοκόλλων nginx 1.16.0, που απορρόφησε τις αλλαγές που συσσωρεύτηκαν εντός του κύριου κλάδου 1.15.χ. Στο μέλλον, όλες οι αλλαγές στον σταθερό κλάδο 1.16 θα σχετίζονται με την εξάλειψη σοβαρών σφαλμάτων και τρωτών σημείων. Σύντομα θα δημιουργηθεί ο κύριος κλάδος του nginx 1.17, εντός του οποίου θα συνεχιστεί η ανάπτυξη νέων χαρακτηριστικών. Για απλούς χρήστες που δεν έχουν το καθήκον να διασφαλίσουν τη συμβατότητα με ενότητες τρίτων, συνιστάται χρησιμοποιήστε τον κύριο κλάδο, βάσει του οποίου σχηματίζονται εκδόσεις του εμπορικού προϊόντος Nginx Plus κάθε τρεις μήνες.

Οι πιο αξιοσημείωτες βελτιώσεις που προστέθηκαν κατά την ανάπτυξη του κλάδου 1.15.x upstream:

  • Προστέθηκε η δυνατότητα χρήσης μεταβλητών σε οδηγίεςssl_certificate' και 'ssl_certificate_key', το οποίο μπορεί να χρησιμοποιηθεί για τη δυναμική φόρτωση πιστοποιητικών·
  • Προστέθηκε η δυνατότητα φόρτωσης πιστοποιητικών SSL και μυστικών κλειδιών από μεταβλητές χωρίς χρήση ενδιάμεσων αρχείων.
  • στο μπλοκ "αντίθετα στο ρεύμα«εφαρμόζεται νέα οδηγία»τυχαίος", με τη βοήθεια του οποίου μπορείτε να οργανώσετε την εξισορρόπηση φορτίου με μια τυχαία επιλογή διακομιστή για την προώθηση της σύνδεσης.
  • Στην ενότητα ngx_stream_ssl_preread μεταβλητή που εφαρμόζεται $ssl_preread_protocol,
    που καθορίζει την υψηλότερη έκδοση του πρωτοκόλλου SSL/TLS που υποστηρίζει ο πελάτης. Η μεταβλητή επιτρέπει δημιουργήστε διαμορφώσεις για πρόσβαση με χρήση διαφόρων πρωτοκόλλων με και χωρίς SSL μέσω μιας θύρας δικτύου κατά τη διαμεσολάβηση της κυκλοφορίας χρησιμοποιώντας τις λειτουργικές μονάδες http και ροής. Για παράδειγμα, για να οργανώσετε την πρόσβαση μέσω SSH και HTTPS μέσω μιας θύρας, η θύρα 443 μπορεί να προωθηθεί από προεπιλογή στο SSH, αλλά εάν έχει οριστεί η έκδοση SSL, προωθήστε στο HTTPS.

  • Μια νέα μεταβλητή προστέθηκε στο upstream module "$upstream_bytes_sent", το οποίο εμφανίζει τον αριθμό των byte που μεταφέρθηκαν στον διακομιστή ομάδας.
  • Σε ενότητα μετάδοση Μέσα σε μία περίοδο λειτουργίας, έχει προστεθεί η δυνατότητα επεξεργασίας πολλών εισερχόμενων δεδομένων UDP από τον πελάτη.
  • Η οδηγία"proxy_requests", καθορίζει τον αριθμό των datagrams που λαμβάνονται από τον υπολογιστή-πελάτη, με την επίτευξη του οποίου καταργείται η σύνδεση μεταξύ του πελάτη και της υπάρχουσας περιόδου λειτουργίας UDP. Μετά τη λήψη του καθορισμένου αριθμού datagrams, το επόμενο datagram που λαμβάνεται από τον ίδιο πελάτη ξεκινά μια νέα συνεδρία.
  • Η οδηγία ακρόασης έχει πλέον τη δυνατότητα να καθορίζει εύρος θυρών.
  • Προστέθηκε οδηγία "ssl_early_data» για να ενεργοποιήσετε τη λειτουργία 0-RTT όταν χρησιμοποιείτε το TLSv1.3, το οποίο σας επιτρέπει να αποθηκεύσετε παραμέτρους σύνδεσης TLS που είχατε προηγουμένως διαπραγματευτεί και να μειώσετε τον αριθμό των RTT σε 2 κατά τη συνέχιση μιας σύνδεσης που είχε δημιουργηθεί προηγουμένως.
  • Έχουν προστεθεί νέες οδηγίες για τη διαμόρφωση του keepalive για εξερχόμενες συνδέσεις (ενεργοποίηση ή απενεργοποίηση της επιλογής SO_KEEPALIVE για υποδοχές):

    • «proxy_socket_keepalive" - διαμορφώνει τη συμπεριφορά "TCP keepalive" για εξερχόμενες συνδέσεις στον διακομιστή μεσολάβησης.
    • «fastcgi_socket_keepalive" - διαμορφώνει τη συμπεριφορά "TCP keepalive" για εξερχόμενες συνδέσεις στον διακομιστή FastCGI.
    • «grpc_socket_keepalive" - διαμορφώνει τη συμπεριφορά "TCP keepalive" για εξερχόμενες συνδέσεις στον διακομιστή gRPC.
    • «memcached_socket_keepalive" - διαμορφώνει τη συμπεριφορά "TCP keepalive" για εξερχόμενες συνδέσεις στον διακομιστή memcached.
    • «scgi_socket_keepalive" - διαμορφώνει τη συμπεριφορά "TCP keepalive" για εξερχόμενες συνδέσεις στον διακομιστή SCGI.
    • «uwsgi_socket_keepalive" - διαμορφώνει τη συμπεριφορά "TCP keepalive" για εξερχόμενες συνδέσεις στον διακομιστή uwsgi.
  • Στην οδηγία "limit_req" πρόσθεσε μια νέα παράμετρο "καθυστέρηση", η οποία θέτει ένα όριο μετά το οποίο καθυστερούν τα περιττά αιτήματα.
  • Νέες οδηγίες "keepalive_timeout" και "keepalive_requests" έχουν προστεθεί στο μπλοκ "upstream" για να οριστούν όρια για το Keepalive.
  • Η οδηγία "ssl" έχει καταργηθεί και αντικαταστάθηκε από την παράμετρο "ssl" στην οδηγία "ακρόαση". Τα πιστοποιητικά SSL που λείπουν εντοπίζονται τώρα στο στάδιο της δοκιμής διαμόρφωσης όταν χρησιμοποιείται η οδηγία "ακρόαση" με την παράμετρο "ssl" στις ρυθμίσεις.
  • Όταν χρησιμοποιείτε την οδηγία reset_timedout_connection, οι συνδέσεις κλείνουν πλέον με κωδικό 444 όταν λήξει το χρονικό όριο.
  • Τα σφάλματα SSL "http request", "https proxy request", "unsupported protocol" και "version too low" εμφανίζονται πλέον στο αρχείο καταγραφής με το επίπεδο "info" αντί για "crit".
  • Προστέθηκε υποστήριξη για τη μέθοδο δημοσκόπησης σε συστήματα Windows κατά τη χρήση των Windows Vista και νεότερες εκδόσεις.
  • Δυνατότητα χρήσης TLSv1.3 κατά τη δημιουργία με τη βιβλιοθήκη BoringSSL, όχι μόνο με το OpenSSL.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο