Ανακατεύθυνση επιλεγμένων αιτημάτων HTTP από το Squid σε HTTPS
Επιστρέψτε ανακατεύθυνση πελάτη για γνωστούς ιστότοπους που υποστηρίζουν HTTPS αντί να αλλάζετε σιωπηλά κάθε URL προέλευσης HTTP ή να υποθέτετε ότι το proxy μπορεί να δημιουργήσει υποστήριξη TLS στην προέλευση.
Το Squid μπορεί να ζητήσει από το πρόγραμμα περιήγησης να επαναλάβει ένα επιλεγμένο URL HTTP μέσω HTTPS. Ο προορισμός πρέπει ήδη να παρέχει τον αντίστοιχο πόρο μέσω HTTPS· η εκτέλεση του Squid σε Raspberry Pi δεν δημιουργεί αυτή τη δυνατότητα στον ιστότοπο.
Για τη διεπαφή url_rewrite_program του Squid 7, ένα helper μπορεί να επιστρέψει ανακατεύθυνση πελάτη όπως αυτή:
OK status=307 url="https://www.example.com/help"
Αυτή είναι μία ενδεικτική απάντηση helper για αντίστοιχο αίτημα, όχι πλήρες πρόγραμμα helper. Το πρόγραμμα περιήγησης λαμβάνει την ανακατεύθυνση και κάνει νέο αίτημα στο URL HTTPS. Ένα URL εκτός της πολιτικής αναβάθμισης μπορεί να λάβει OK και να μείνει αμετάβλητο.
Χρησιμοποιήστε μια γνωστή λίστα προορισμών που υποστηρίζουν HTTPS και αναλύστε το εισερχόμενο URL. Διατηρήστε τη σκοπούμενη διαδρομή και το query, λάβετε υπόψη τις ρητές θύρες και χειριστείτε τις μεθόδους αιτήματος συνειδητά. Η τυφλή αντικατάσταση κάθε προθέματος http προϋποθέτει ότι κάθε προέλευση έχει ισοδύναμη υπηρεσία HTTPS.
Ο helper πρέπει να απαντά σε κάθε γραμμή εισόδου με το πρωτόκολλο της εγκατεστημένης έκδοσης Squid. Αν είναι ενεργά τα ταυτόχρονα κανάλια helper, διατηρήστε το αναγνωριστικό καναλιού στην απάντηση. Το παλιό γυμνό παράδειγμα 301:URL δεν είναι εναλλάξιμο με τη σημερινή μορφή result-and-key/value.
Επιλέξτε ανακατεύθυνση πελάτη όταν το πρόγραμμα περιήγησης πρέπει να γνωρίζει το νέο URL. Μια απάντηση rewrite-url ζητά αντίθετα από το Squid να ανακτήσει διαφορετικό URL πίσω από το αρχικό αίτημα του πελάτη, κάτι που μπορεί να αφήσει τα URL της εφαρμογής και την κατάσταση ασυνεπή.
Το αρχικό αίτημα HTTP έχει ήδη φτάσει στο Squid πριν ο helper μπορέσει να το ανακατευθύνει. Αυτή η πολιτική δεν μπορεί να προστατεύσει αναδρομικά εκείνο το αίτημα. Το TLS ξεκινά στη επόμενη σύνδεση HTTPS· μια σήραγγα CONNECT μόνη της δεν παρέχει κρυπτογράφηση.