Ο βρόχος ανακατευθύνσεων του Magento σας μάλλον δεν οφείλεται στο VPN
Ένα 302 καταγράφει προορισμό, όχι αιτία. Συγκρίνετε την αλυσίδα Location, τις βασικές διευθύνσεις URL, την κεφαλίδα σχήματος του διακομιστή μεσολάβησης και το cookie συνεδρίας πριν αλλάξετε τη διαμόρφωση.
Βλέπετε 302 στο αρχείο καταγραφής πρόσβασης, η βιτρίνα δεν φορτώνει μέσω του VPN και το συμπέρασμα γράφεται μόνο του. Αυτό το συμπέρασμα είναι συνήθως λάθος με ενδιαφέροντα τρόπο. Μια απάντηση ανακατεύθυνσης καταγράφει έναν προορισμό στον οποίο είπαν στο πρόγραμμα περιήγησης να πάει και δεν λέει τίποτα για το αν το πρόβλημα το προκάλεσε η σήραγγα, το πιστοποιητικό ή η εφαρμογή. Η γραμμή του καταγραφικού είναι η αρχή της έρευνας, όχι το εύρημά της.
Ένα 302 λέει πού, όχι γιατί
Μια εγγραφή στο αρχείο πρόσβασης καταγράφει το αίτημα, την κατάσταση και το μέγεθος και συνήθως παραλείπει την κεφαλίδα Location που έχει σημασία. Μια μεμονωμένη ανακατεύθυνση μπορεί να είναι απολύτως φυσιολογική: ένα κανονικό όνομα κεντρικού υπολογιστή, μια κανονικοποίηση της τελικής καθέτου, μια μετάβαση σε HTTPS. Αυτό που χρειάζεστε είναι η ακολουθία, γιατί ένα άλμα και ένας βρόχος είναι διαφορετικές βλάβες με διαφορετικούς ιδιοκτήτες. Τα επαναλαμβανόμενα άλματα μεταξύ σχημάτων υποδεικνύουν χειρισμό URL και σχήματος. Ένα άλμα σε όνομα που το πρόγραμμα περιήγησης δεν μπορεί να αναλύσει δείχνει κάπου εντελώς αλλού.
Κανένα από αυτά δεν είναι απόδειξη για το VPN. Η σήραγγα είναι διαδρομή· η ανακατεύθυνση είναι οδηγία που έγραψε η εφαρμογή.
Καταγράψτε την αλυσίδα, όχι τη γραμμή του καταγραφικού
Χρησιμοποιήστε την προβολή δικτύου του προγράμματος περιήγησης και καταγράψτε τέσσερα πεδία ανά άλμα: το ζητούμενο URL, την κατάσταση, την κεφαλίδα Location και τον χρόνο. Τελειώστε είτε με την τελική απάντηση είτε με το σφάλμα σύνδεσης, γιατί η ενδιαφέρουσα περίπτωση είναι το άλμα που δεν ολοκληρώνεται ποτέ. Κάντε το μία φορά σε διαδρομή που λειτουργεί και μία σε αυτήν που αποτυγχάνει, με τον ίδιο λογαριασμό και την ίδια πλοήγηση. Η σύγκριση δύο αλυσίδων αξίζει περισσότερο από οποιαδήποτε μεμονωμένη γραμμή σε ένα καταγραφικό.
Κρατήστε αυτή την καταγραφή ιδιωτική. Τα URL μεταφέρουν αναγνωριστικά συνεδρίας και ένα αποθηκευμένο αρχείο του προγράμματος περιήγησης μεταφέρει περισσότερα απ' όσα περιμένετε. Αφαιρέστε τις συμβολοσειρές ερωτήματος πριν επικολλήσετε οτιδήποτε σε ένα δελτίο.
Η ιδέα της εφαρμογής για το δικό της URL
Το Magento δημιουργεί απόλυτα URL από τη διαμόρφωση, με εμβέλεια ανά ιστότοπο ή προβολή καταστήματος. Το bin/magento config:show web/secure/base_url εκτυπώνει την τιμή που πιστεύει η εφαρμογή και αυτή είναι συχνά ένα όνομα κεντρικού υπολογιστή που έμεινε από μια κατασκευή ή μια μετεγκατάσταση αντί για εκείνο που χρησιμοποίησε το πρόγραμμα περιήγησης. Αν εκεί αναφέρεται εσωτερικός κεντρικός υπολογιστής, το πρόγραμμα περιήγησης στέλνεται κάπου όπου δεν μπορεί να πάει και καμία αλλαγή στη σήραγγα δεν το διορθώνει.
Συγκρίνετε το ασφαλές και το μη ασφαλές βασικό URL με τα δημόσια ονόματα μπροστά σας. Μια ασυμφωνία σε οποιοδήποτε από τα δύο παράγει ακριβώς την ανακατεύθυνση που κοιτάτε.
Οι κεφαλίδες έμπιστου διακομιστή μεσολάβησης είναι σύμβαση
Όταν το TLS τελειώνει σε εξισορροπητή φόρτου, η εφαρμογή βλέπει απλό HTTP και πρέπει να της ειπωθεί διαφορετικά. Η ρύθμιση κεφαλίδας offloader ονομάζει την κεφαλίδα που θέτει ο διακομιστής μεσολάβησης, όπως το προωθημένο πρωτόκολλο, και η εφαρμογή την εμπιστεύεται για αποφάσεις σχήματος.
Αυτή η εμπιστοσύνη είναι σύμβαση με έναν διακομιστή μεσολάβησης, όχι γενική άδεια. Η αποδοχή της κεφαλίδας από αυθαίρετους πελάτες επιτρέπει σε οποιονδήποτε να διεκδικήσει σχήμα, γι' αυτό ανήκει μόνο εκεί όπου την θέτει καθορισμένος διακομιστής μεσολάβησης. Αν το όνομα της κεφαλίδας και η συμπεριφορά του διακομιστή μεσολάβησης διαφωνούν, η εφαρμογή δημιουργεί ανακατευθύνσεις σε σχήμα που το πρόγραμμα περιήγησης δεν χρησιμοποίησε ποτέ και ο βρόχος κλείνει. Ελέγξτε τη διαμόρφωση του διακομιστή μεσολάβησης και τη ρύθμιση της εφαρμογής μαζί, μετά καθαρίστε την προσωρινή μνήμη διαμόρφωσης ώστε η αλλαγή να τεθεί σε ισχύ.
Όταν ο βρόχος είναι συνεδρία, όχι διαδρομή
Μια αλυσίδα που επιστρέφει πάντα στη σύνδεση είναι συνήθως πρόβλημα cookie. Εξετάστε αν το cookie συνεδρίας εκδόθηκε για το όνομα κεντρικού υπολογιστή που χρησιμοποίησε πραγματικά το πρόγραμμα περιήγησης και αν σημάνθηκε ως ασφαλές σε σύνδεση που το πρόγραμμα περιήγησης θεωρεί ασφαλή. Ένα cookie με εμβέλεια στον λάθος τομέα παράγει βρόχο σύνδεσης που μοιάζει ακριβώς με αποτυχία δρομολόγησης.
Διορθώστε την αποδεδειγμένη ασυμφωνία στον ιδιοκτήτη της, είτε είναι το βασικό URL, είτε ο τομέας του cookie, είτε η σύμβαση με τον διακομιστή μεσολάβησης, και μετά ελέγξτε ξανά ολόκληρη την πλοήγηση αντί να παρακολουθείτε ένα 302 να εξαφανίζεται. Η απενεργοποίηση των απαιτήσεων HTTPS για να σπάσει ο βρόχος ανταλλάσσει μια ανακατεύθυνση με χειρότερο πρόβλημα. Όταν η αλλαγή ολοκληρωθεί, ελέγξτε τη σήραγγα χωριστά: ζητήστε έναν γνωστό ιδιωτικό πόρο και επιβεβαιώστε ότι φτάνει, ώστε η επόμενη ανακατεύθυνση να έχει καθαρή βάση σύγκρισης.