Γονικά domains και subdomains στο .NET NO_PROXY
Συμπεριλάβετε το γονικό domain σκόπιμα όταν μια πολιτική proxy περιβάλλοντος .NET πρέπει να παρακάμπτει και τα subdomains του.
Στους τεκμηριωμένους κανόνες proxy περιβάλλοντος του .NET, το .example.com ταιριάζει με subdomains. Δεν ταιριάζει με το example.com το ίδιο. Αυτή η μικρή διάκριση μπορεί να χωρίσει μία υπηρεσία σε δύο διαδρομές.
| Καταχώριση | Προβλεπόμενη αντιστοίχιση .NET |
|---|---|
example.com | Το γονικό hostname |
.example.com | Hostnames κάτω από αυτό το domain |
example.com,.example.com | Και οι δύο ομάδες |
Ας υποθέσουμε ότι η σελίδα προορισμού χρησιμοποιεί το γονικό όνομα και το API της χρησιμοποιεί api.example.com. Μια λίστα που περιέχει μόνο τη μορφή με τελεία μπορεί να στείλει τη σελίδα προορισμού μέσω του proxy ενώ το API πηγαίνει απευθείας. Το αντίστροφο λάθος είναι να καταχωρίσετε μόνο το γονικό domain και να περιμένετε να ταιριάζει κάθε παιδί. Ελέγξτε το HttpClient.DefaultProxy.IsBypassed για το γονικό domain και ένα παιδί, ώστε να επαληθεύσετε τη διαμορφωμένη απόφαση.
Αυτό ισχύει για την πολιτική περιβάλλοντος που χρησιμοποιεί ο συμμετέχων πελάτης HTTP του .NET. Ένα ρητά εκχωρημένο IWebProxy, μια άλλη υλοποίηση handler ή μια άλλη γενιά runtime χρειάζεται έλεγχο των δικών του κανόνων. Μην υποθέσετε ότι η λίστα παράκαμψης ενός browser έχει γίνει αυτή η λίστα περιβάλλοντος.
Επίσης αντισταθείτε στη συνήθεια να μεταφράζετε τη ρύθμιση σε *.example.com. Η τεκμηριωμένη σύνταξη περιβάλλοντος .NET δεν αντιμετωπίζει τον αστερίσκο ως γενικό μπαλαντέρ.
Όταν συγκρίνετε μια εντολή curl που λειτουργεί με την εφαρμογή, διατηρήστε το κυριολεκτικό URL στην αναφορά. Το “ίδιος διακομιστής” κρύβει αν ζητήσατε το γονικό domain, ένα subdomain ή μια διεύθυνση IP. Η αντιστοίχιση domain γίνεται με αυτή την είσοδο αιτήματος, όχι με την ανεπίσημη ονομασία σας για την υπηρεσία.