Κυκλοφορία του nginx 1.17.9 και του njs 0.3.9

Σχηματίστηκε απελευθέρωση ανάντη nginx 1.17.9, εντός του οποίου συνεχίζεται η ανάπτυξη νέων δυνατοτήτων (παράλληλα υποστηρίζεται σταθερά κλάδος 1.16 Γίνονται μόνο αλλαγές που σχετίζονται με την εξάλειψη σοβαρών σφαλμάτων και τρωτών σημείων).

Ο κύριος αλλαγές:

  • Απαγορεύεται ο καθορισμός πολλαπλών γραμμών "Host" σε
    Επικεφαλίδα αιτήματος.

  • Διορθώθηκε ένα σφάλμα όπου το nginx αγνόησε πρόσθετες γραμμές
    "Μεταφορά-Κωδικοποίηση" στην κεφαλίδα αιτήματος.

  • Έχουν γίνει διορθώσεις για την αποφυγή διαρροών υποδοχής κατά τη χρήση του πρωτοκόλλου HTTP/2.
  • Διορθώθηκε ένα σφάλμα τμηματοποίησης στη διαδικασία του εργάτη που παρουσιάζεται κατά τη χρήση συρραφής OCSP.
  • Έχουν γίνει διορθώσεις στη λειτουργική μονάδα ngx_http_mp4_module.
  • Επιλύθηκε ένα πρόβλημα σε περιπτώσεις όπου κατά την ανακατεύθυνση σφαλμάτων με κωδικό 494 χρησιμοποιώντας την οδηγία 'error_page', θα μπορούσε να επιστραφεί μια απάντηση με κωδικό 494 αντί για 400.
  • Διορθώθηκαν οι διαρροές υποδοχής κατά τη χρήση υποερωτημάτων στη μονάδα njs και στην οδηγία aio.

Επιπλέον, μπορεί να σημειωθεί ζήτημα njs 0.3.9, ένας διερμηνέας JavaScript για τον διακομιστή web nginx. Ο διερμηνέας njs εφαρμόζει πρότυπα ECMAScript και σας επιτρέπει να επεκτείνετε την ικανότητα του nginx να επεξεργάζεται αιτήματα χρησιμοποιώντας σενάρια στη διαμόρφωση. Τα σενάρια μπορούν να χρησιμοποιηθούν σε ένα αρχείο διαμόρφωσης για τον καθορισμό προηγμένης λογικής για την επεξεργασία αιτημάτων, τη δημιουργία μιας διαμόρφωσης, τη δυναμική δημιουργία μιας απάντησης, την τροποποίηση μιας αίτησης/απόκρισης ή τη γρήγορη δημιουργία στελέχη για την επίλυση προβλημάτων σε εφαρμογές web.

Στη νέα έκδοση, η λειτουργική μονάδα njs έχει προσθέσει υποστήριξη για λειτουργία αποσπασμένου αιτήματος στο r.subrequest(). Οι απαντήσεις σε αποσπασμένα δευτερεύοντα ερωτήματα αγνοούνται. Σε αντίθεση με τα κανονικά υποερωτήματα, ένα αποσπασμένο υποερώτημα μπορεί να δημιουργηθεί μέσα σε έναν χειριστή μεταβλητής. Επίσης:

  • Προστέθηκαν υποσχέσεις API για τη λειτουργική μονάδα "fs".
  • Οι συναρτήσεις access(), symlink(), unlink(), έχουν προστεθεί στη μονάδα “fs”.
    realpath() και παρόμοια?

  • Έχουν εισαχθεί συνηθισμένες συστοιχίες, αποδοτικές όσον αφορά την κατανάλωση μνήμης.
  • Έχουν γίνει βελτιώσεις στο lexer.
  • Έχει γίνει μια διόρθωση στην αντιστοίχιση εγγενών συναρτήσεων σε backtraces.
    ίχνη?

  • Διορθώθηκαν κλήσεις επανάκλησης στη μονάδα "fs".
  • Έχουν γίνει διορθώσεις στο Object.getOwnPropertySymbols();
  • Διορθώθηκε η υπερχείλιση του buffer σωρού στο njs_json_append_string();
  • Διορθώθηκε το encodeURI() και το decodeURI() για συμμόρφωση με τις προδιαγραφές.
  • Πραγματοποιήθηκε μια διόρθωση στο Number.prototype.toPrecision();
  • Διορθώθηκε ο χειρισμός του ορίσματος διαστήματος στο JSON.stringify();
  • Πραγματοποιήθηκε μια διόρθωση στο JSON.stringify() με αντικείμενα Number() και String().
  • Παρέχεται διαφυγή χαρακτήρων Unicode στο JSON.stringify() σύμφωνα με
    με προδιαγραφές?

  • Έχει γίνει μια διόρθωση στην εισαγωγή μη εγγενών λειτουργικών μονάδων.
  • Πραγματοποιήθηκε μια διόρθωση στο njs.dump() με μια παρουσία Date() στο κοντέινερ.

Πηγή: opennet.ru

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