Ενεργοποίηση της ενσωματωμένης υποστήριξης διαμεσολαβητή του Node κατά την εκκίνηση
Χρησιμοποιήστε τον διακόπτη διαμεσολαβητή περιβάλλοντος του Node με τα σωστά όρια έκδοσης fetch και http/https και κατανοήστε το εύρος πελατών του.
Το Node μπορεί να διαβάσει μόνο του τις μεταβλητές περιβάλλοντος διαμεσολαβητή όταν η ενσωματωμένη υποστήριξή του ενεργοποιείται κατά την εκκίνηση της διεργασίας. Οι διαθέσιμοι πελάτες εξαρτώνται από την έκδοση του runtime:
- Το ενσωματωμένο fetch υποστηρίζει το NODE_USE_ENV_PROXY από το Node 24.0.0, με backport στο 22.21.0.
- Η ενσωματωμένη υποστήριξη node:http και node:https μέσω των προεπιλεγμένων καθολικών πρακτόρων τους ξεκινά από το 24.5.0, με backport και στο 22.21.0.
- Ο διακόπτης γραμμής εντολών --use-env-proxy ξεκινά από το 24.5.0 και το 22.21.0.
Σε μια συμβατή έκδοση, αυτό το παράδειγμα POSIX-shell ορίζει έναν εταιρικό διαμεσολαβητή HTTP για τα δύο σχήματα προορισμού:
export HTTP_PROXY=http://proxy.example.net:8080
export HTTPS_PROXY=http://proxy.example.net:8080
export NO_PROXY=localhost,127.0.0.1,.internal.example
node --use-env-proxy app.js
Το όνομα HTTPS_PROXY επιλέγει τη διαδρομή για προορισμούς HTTPS· το URL μπορεί ακόμη να ονομάζει διαμεσολαβητή HTTP. Προσαρμόστε το NO_PROXY στους προορισμούς που πρέπει να το παρακάμπτουν. Για ανεξάρτητη δοκιμή δημόσιου URL χωρίς λογαριασμό διαμεσολαβητή, μια καταχώριση HTTP από τη λίστα διαμεσολαβητών HTTP μπορεί να παρέχει και τις δύο τιμές διαμεσολαβητή, ενώ οι απαιτούμενες εσωτερικές παρακάμψεις παραμένουν.
Η μορφή με διακόπτη περιβάλλοντος είναι εναλλακτική:
export NODE_USE_ENV_PROXY=1
node app.js
Ορίστε τις μεταβλητές δρομολόγησης πριν εκκινήσετε το Node με οποιαδήποτε από τις δύο μορφές. Η ανάθεση της σημαίας opt-in στο process.env μετά την εκκίνηση δεν επανεκτελεί την αρχικοποίηση εκκίνησης.
Ελέγξτε ποιος πελάτης HTTP χρησιμοποιείται πραγματικά
Οι προεπιλεγμένοι καθολικοί πράκτορες αφορούν κλήσεις http και https που τους χρησιμοποιούν. Μια βιβλιοθήκη με δικό της προσαρμοσμένο πράκτορα ή dispatcher ελέγχει τη δική της μεταφορά· οι ακατέργαστες υποδοχές TCP είναι εκτός αυτής της λειτουργίας δρομολόγησης HTTP. Για έναν συμβατό πελάτη Undici, ένας ρητός dispatcher ProxyAgent είναι ξεχωριστή διεπαφή τοπική στον πελάτη.
Αν μια εφαρμογή αντικαθιστά έναν καθολικό πράκτορα, εξετάστε αυτή την αντικατάσταση πριν υποθέσετε ότι διατηρεί τη συμπεριφορά διαμεσολαβητή εκκίνησης. Ομοίως, η διαμόρφωση μητρώου του npm είναι ξεχωριστή ρύθμιση εργαλείου και δεν αποδεικνύει πώς το app.js δρομολογεί αιτήματα.
Για εταιρική απαίτηση εμπιστοσύνης TLS, διαμορφώστε το κατάλληλο έμπιστο CA για το runtime. Η ενεργοποίηση δρομολόγησης διαμεσολαβητή δεν απαιτεί απενεργοποίηση της επαλήθευσης πιστοποιητικών.