Χειρισμός αποτυχίας DNS μέσα σε κανόνα PAC
Δώστε σε μια αποτυχημένη αναζήτηση PAC DNS δικό της κλάδο πολιτικής αντί να τη θεωρείτε επαληθευμένη διεύθυνση εκτός του τοπικού δικτύου.
Μια αποτυχημένη αναζήτηση δεν αποδεικνύει ότι ο προορισμός βρίσκεται έξω από το ιδιωτικό σας δίκτυο. Αποδεικνύει ότι αυτή η αξιολόγηση PAC δεν απέκτησε τη διεύθυνση που χρειαζόταν.
Αυτή η διάκριση μετράει όταν το dnsResolve() τροφοδοτεί έναν κανόνα isInNet(). Η υλοποίηση PAC του Chromium επιστρέφει null όταν η επίλυση αποτύχει. Μη χτίζετε τον κλάδο αποτυχίας πάνω στην ανάμνηση ότι το αποτέλεσμα είναι πάντα κενή συμβολοσειρά.
function FindProxyForURL(url, host) {
var address = dnsResolve(host);
if (!address) {
return "PROXY proxy.example:8080";
}
if (isInNet(address, "10.40.0.0", "255.255.0.0")) {
return "DIRECT";
}
return "PROXY proxy.example:8080";
}
Αυτό το παράδειγμα στέλνει τα άλυτα ονόματα στον διαμεσολαβητή. Είναι επιλογή πολιτικής, όχι καθολική ασφαλής προεπιλογή. Μπορεί να είναι χρήσιμο όταν ο διαμεσολαβητής διαθέτει resolver ή όψη δικτύου που ο πελάτης δεν έχει. Ένα δίκτυο που απαιτεί τοπική επίλυση χρειάζεται διαφορετικό ρητό αποτέλεσμα.
Επιλύστε μία φορά και επαναχρησιμοποιήστε το αποτέλεσμα. Έτσι η απόφαση μένει δεμένη σε μία τιμή και αποφεύγεται η επανάληψη δυνητικά αργών βοηθητικών κλήσεων.
Ελέγξτε επίσης τον πραγματικό καταναλωτή PAC. Οι παλιές βοηθητικές συναρτήσεις IPv4 και οι εκτεταμένες του IPv6 έχουν διαφορετικά συμβόλαια. Ένας κανόνας που δοκιμάστηκε με την υλοποίηση ενός περιηγητή δεν αποδεικνύει υποστήριξη σε κάθε εφαρμογή που χρησιμοποιεί το ίδιο URL PAC.
Αν η απαίτηση είναι απλώς η δρομολόγηση γνωστού εταιρικού επιθήματος, ένας κανόνας ονόματος κεντρικού υπολογιστή μπορεί να αποφύγει εντελώς την αναζήτηση. Καταφύγετε στην ταξινόμηση με βάση τη διεύθυνση όταν η διεύθυνση είναι πληροφορία που η πολιτική πραγματικά χρειάζεται.