Δημοσιεύτηκε η έκδοση του κύριου κλάδου του nginx 1.31.5, στην οποία συνεχίζεται η ανάπτυξη νέων λειτουργιών. Παράλληλα, υποστηρίζεται ο σταθερός κλάδος 1.30.x, γίνονται μόνο αλλαγές που σχετίζονται με την εξάλειψη σοβαρών σφαλμάτων και ευπαθειών. Στο μέλλον, ο σταθερός κλάδος 1.31 θα διαμορφωθεί με βάση τον κύριο κλάδο 1.32.x. Ο κώδικας του έργου είναι γραμμένος σε C και διανέμεται με άδεια BSD.
Στη νέα έκδοση:
- Έχει προστεθεί ένα Rest API για εξωτερική διαχείριση, το οποίο επιτρέπει την απομακρυσμένη επαναφόρτωση ρυθμίσεων, την ανάκτηση δεδομένων ρυθμίσεων και την προβολή της κατάστασης της διεργασίας εργασίας. Η υποστήριξη API ενεργοποιείται χρησιμοποιώντας την επιλογή δημιουργίας "--with-control-api" και το όρισμα γραμμής εντολών "-l". Συνιστάται η σύνδεση του API σε μια υποδοχή Unix (nginx -l unix:/path/to/sock). Το βοηθητικό πρόγραμμα Curl μπορεί να χρησιμοποιηθεί για πρόσβαση στο API.
- Προστέθηκε η δυνατότητα χρήσης μιας μεταβλητής που ξεκινά με το σύμβολο "$" ως τιμή της οδηγίας Location. Η τιμή της μεταβλητής, που υπολογίζεται κατά τον χρόνο εκτέλεσης, καθορίζει τις συνθήκες για την εισαγωγή στο μπλοκ Location. Τέτοιες τοποθεσίες μπορούν να χρησιμοποιηθούν μέσα σε άλλα μπλοκ Location ή οι ίδιες να περιέχουν ένθετες τοποθεσίες. map $arg_foo $pred { bar 1; qux 1; } location $pred { root html; }
- Η ενότητα ngx_http_json_module έχει υλοποιηθεί, παρέχοντας τη δυνατότητα ανάλυσης δεδομένων σε μορφή JSON, εξαγωγής μεμονωμένων πεδίων από το JSON και χρήσης αυτών των πεδίων ως μεταβλητών στη διαμόρφωση nginx.
- Προστέθηκε η οδηγία "client_body_early_read", η οποία, όταν είναι ενεργοποιημένη, προκαλεί την ανάγνωση του σώματος του αιτήματος αμέσως μετά τη λήψη των κεφαλίδων.
Το Njs 1.0.1, μια ενότητα για την ενσωμάτωση ενός διερμηνέα JavaScript στον διακομιστή HTTP Nginx, είναι τώρα διαθέσιμη. Το Njs επιτρέπει τη χρήση σεναρίων JavaScript σε αρχεία διαμόρφωσης για την επέκταση των δυνατοτήτων του Nginx. Τα σενάρια μπορούν να χρησιμοποιηθούν για τον ορισμό προηγμένης λογικής επεξεργασίας αιτημάτων, τη δημιουργία διαμόρφωσης, τη δυναμική δημιουργία απαντήσεων, την τροποποίηση αιτημάτων/απαντήσεων ή τη γρήγορη δημιουργία stubs για την επίλυση προβλημάτων σε εφαρμογές ιστού. Ο κώδικας του έργου είναι γραμμένος σε C και διανέμεται με την άδεια BSD.
Η έκδοση njs 1.0.1 διορθώνει τρία θέματα ευπάθειας: μια υπερχείλιση buffer στη συνάρτηση xml.exclusiveC14n (CVE-2026-78689), μια παράκαμψη περιορισμού πρόσβασης μέσω του js_access (CVE-2026-18329) και μια διακοπή λειτουργίας της διεργασίας εργασίας που προκλήθηκε από τον χειρισμό του ngx.fetch (CVE-2026-78222).
Πηγή: opennet.ru
