YARP Docsv2.3
Τεκμηρίωση/Ασφάλεια/HTTPS & TLS

HTTPS & TLS

Το HTTPS (HTTP μέσω κρυπτογραφημένων συνδέσεων TLS) είναι ο καθιερωμένος τρόπος πραγματοποίησης αιτημάτων HTTP.

Το HTTPS (HTTP μέσω κρυπτογραφημένων συνδέσεων TLS) είναι ο καθιερωμένος τρόπος πραγματοποίησης αιτημάτων HTTP στο διαδίκτυο, για λόγους ασφάλειας, ακεραιότητας και ιδιωτικότητας. Υπάρχουν αρκετά ζητήματα HTTPS/TLS που πρέπει να λάβετε υπόψη όταν χρησιμοποιείτε έναν αντίστροφο διακομιστή μεσολάβησης όπως το YARP.

Τερματισμός TLS

Το YARP είναι ένας διακομιστής μεσολάβησης HTTP επιπέδου 7, πράγμα που σημαίνει ότι οι εισερχόμενες συνδέσεις HTTPS/TLS αποκρυπτογραφούνται πλήρως από τον διακομιστή μεσολάβησης, ώστε αυτός να μπορεί να επεξεργαστεί και να προωθήσει τα αιτήματα HTTP. Αυτό είναι ευρέως γνωστό ως τερματισμός TLS (TLS Termination). Οι εξερχόμενες συνδέσεις προς τον προορισμό (ή τους προορισμούς) μπορεί να είναι κρυπτογραφημένες ή όχι, ανάλογα με τη διαμόρφωση που έχει δοθεί.

Σήραγγα TLS (CONNECT)

Η σήραγγα TLS (TLS tunneling) μέσω της μεθόδου CONNECT είναι ένα χαρακτηριστικό που χρησιμοποιείται για την προώθηση αιτημάτων χωρίς αποκρυπτογράφησή τους. Αυτό δεν υποστηρίζεται από το YARP, και δεν υπάρχει σχέδιο να προστεθεί.

Διαμόρφωση εισερχόμενων συνδέσεων

Το YARP μπορεί να εκτελεστεί πάνω σε όλους τους διακομιστές ASP.NET Core, και η διαμόρφωση του HTTPS/TLS για τις εισερχόμενες συνδέσεις εξαρτάται από τον συγκεκριμένο διακομιστή. Συμβουλευτείτε την τεκμηρίωση του Kestrel, του IIS και του Http.Sys για λεπτομέρειες διαμόρφωσης.

Προηγμένα φίλτρα TLS με το Kestrel

Το Kestrel υποστηρίζει την υποκλοπή εισερχόμενων συνδέσεων πριν από τη χειραψία TLS (TLS handshake). Το YARP περιλαμβάνει ένα API TlsFrameHelper που μπορεί να αναλύσει την ακατέργαστη χειραψία TLS και να σας επιτρέψει να συλλέξετε προσαρμοσμένη τηλεμετρία ή να απορρίψετε συνδέσεις εγκαίρως. Αυτά τα API δεν μπορούν να τροποποιήσουν τη χειραψία TLS ούτε να αποκρυπτογραφήσουν τη ροή δεδομένων. Δείτε αυτό το παράδειγμα.

Διαμόρφωση εξερχόμενων συνδέσεων

Για να ενεργοποιήσετε την κρυπτογράφηση TLS κατά την επικοινωνία με έναν προορισμό, ορίστε τη διεύθυνση προορισμού ως https, όπως "https://destinationHost". Δείτε την τεκμηρίωση διαμόρφωσης για παραδείγματα.

Το όνομα κεντρικού υπολογιστή (host name) που ορίζεται στη διεύθυνση προορισμού θα χρησιμοποιηθεί από προεπιλογή για τη χειραψία TLS, συμπεριλαμβανομένων του SNI και της επικύρωσης του πιστοποιητικού διακομιστή. Αν η προώθηση της αρχικής κεφαλίδας host είναι ενεργοποιημένη, θα χρησιμοποιηθεί αντ' αυτού εκείνη η τιμή. Αν χρειάζεται να χρησιμοποιηθεί μια προσαρμοσμένη τιμή host, τότε χρησιμοποιήστε τον μετασχηματισμό RequestHeader για να ορίσετε την κεφαλίδα host.

Οι εξερχόμενες συνδέσεις προς τους προορισμούς διαχειρίζονται από τα HttpClient/SocketsHttpHandler. Μπορεί να διαμορφωθεί διαφορετικό στιγμιότυπο και διαφορετικές ρυθμίσεις ανά cluster. Ορισμένες ρυθμίσεις είναι διαθέσιμες στο μοντέλο διαμόρφωσης, ενώ άλλες μπορούν να διαμορφωθούν μόνο μέσω κώδικα. Δείτε την τεκμηρίωση του HttpClient για λεπτομέρειες.

Τα πιστοποιητικά του διακομιστή προορισμού πρέπει να είναι έμπιστα από τον διακομιστή μεσολάβησης, διαφορετικά θα πρέπει να εφαρμοστεί προσαρμοσμένη επικύρωση μέσω της διαμόρφωσης του HttpClient.

Σημείωση

Αυτό το άρθρο δημιουργήθηκε από τον συγγραφέα με τη βοήθεια τεχνητής νοημοσύνης (AI). Μάθετε περισσότερα

Προσαρμογή από Microsoft Learn , με άδεια CC BY 4.0 .