Μία διεύθυνση CiviCRM για χρήστες γραφείου και VPN: βήματα ρύθμισης
Κρατήστε μία κανονική διεύθυνση CiviCRM και δώστε στους πελάτες LAN και VPN τις δικές τους διαδρομές προς αυτήν. Στη συνέχεια ελέγξτε τη βασική διεύθυνση, τους παραγόμενους συνδέσμους και τις προσωρινές μνήμες πριν πάτε σε λειτουργία.
Ένας φορητός υπολογιστής γραφείου πρέπει να ανοίγει τον ίδιο σελιδοδείκτη CiviCRM στο γραφείο του και πάλι από το σπίτι μέσω VPN. Ο σχεδιασμός που αντέχει στην επαφή με τους χρήστες είναι μία κανονική διεύθυνση, ας πούμε https://crm.example.org/, με εγκεκριμένη διαδρομή δικτύου από κάθε τοποθεσία και πιστοποιητικό που ισχύει για αυτό το όνομα. Το VPN αλλάζει τον τρόπο με τον οποίο ένας απομακρυσμένος πελάτης φτάνει στον διακομιστή. Δεν πρέπει ποτέ να αλλάζει την ταυτότητα της εφαρμογής, γιατί τη στιγμή που το κάνει, κάθε παραγόμενος σύνδεσμος, ανακατεύθυνση και επιστροφή κλήσης ενσωμάτωσης γίνεται δεύτερο πρόβλημα προς επίλυση.
Διαλέξτε τη διεύθυνση URL πριν διαλέξετε τη διαδρομή
Γράψτε πρώτα την προβλεπόμενη διεύθυνση, συμπεριλαμβανομένου οποιουδήποτε τμήματος διαδρομής χρειάζεται το CMS, και αντιμετωπίστε την ως σταθερό σημείο. Όλα τα άλλα σε αυτόν τον οδηγό είναι λεπτομέρεια υλοποίησης που μπορεί να αλλάξει χωρίς να την αγγίξει: ποια απάντηση DNS λαμβάνει κάθε ομάδα, ποιος κανόνας τείχους προστασίας επιτρέπει τον ακροατή και αν η κίνηση φτάνει μέσω σήραγγας ή μέσω τοπικής θύρας μεταγωγέα.
Καταγράψτε τέσσερις τιμές μαζί στο σχέδιο πρόσβασης, γιατί λειτουργούν μόνο ως σύνολο. Η κανονική διεύθυνση URL. Η απάντηση που πρέπει να λάβει κάθε ομάδα πελατών για αυτό το όνομα. Η διαδρομή και ο κανόνας πρόσβασης για αυτήν την απάντηση. Το όνομα κεντρικού υπολογιστή που έχουν ρυθμιστεί να εξυπηρετούν ο διακομιστής web και το πιστοποιητικό. Όταν κάτι χαλάσει αργότερα, το χαλασμένο στοιχείο είναι ένα από αυτά τα τέσσερα, και θα ξέρετε ποιο αλλάξατε.
Βήμα 1: κάντε το όνομα να επιλύεται σωστά και για τις δύο ομάδες
Και οι δύο ομάδες πρέπει να λαμβάνουν ιδιωτική απάντηση στην οποία μπορούν πραγματικά να φτάσουν, και είναι θεμιτό οι απαντήσεις να διαφέρουν εφόσον το όνομα δεν διαφέρει. Οι πελάτες LAN επιλύουν μέσω του εσωτερικού επιλυτή· οι πελάτες VPN χρειάζονται πολιτική επιλυτή που τους δίνει την ίδια ζώνη αντί να διαρρέει το ερώτημα σε δημόσιο επιλυτή και να παίρνει δημόσια απάντηση που δεν μπορούν να χρησιμοποιήσουν.
Δοκιμάστε το όνομα από κάθε περιβάλλον αντί να υποθέτετε, και δοκιμάστε τη διαδρομή ανεξάρτητα από το DNS με την επιλογή resolve του curl, που καρφώνει τη διεύθυνση για ένα αίτημα:
dig +short crm.example.org
curl -sSI --resolve crm.example.org:443:10.10.5.20 https://crm.example.org/ | head -5
Αν η πρώτη δοκιμή επιστρέψει διεύθυνση που ο πελάτης δεν μπορεί να φτάσει, το πρόβλημα είναι στη δρομολόγηση της σήραγγας ή στη λίστα διαχωρισμένης σήραγγας. Αν η δεύτερη δοκιμή επιστρέψει ανακατεύθυνση σε όνομα κεντρικού υπολογιστή που δεν περιμένατε, σταματήστε και διαβάστε την κεφαλίδα Location, γιατί αυτό είναι πρόβλημα εφαρμογής και καμία αλλαγή διαδρομής δεν θα το διορθώσει.
Βήμα 2: ευθυγραμμίστε τον διακομιστή web, το πιστοποιητικό και τη βασική διεύθυνση URL του CMS
Ο ακροατής πρέπει να έχει ρυθμιστεί να εξυπηρετεί το κανονικό όνομα, και το πιστοποιητικό πρέπει να το καλύπτει. Η περιήγηση με την ωμή διεύθυνση δεν είναι λύση: δημιουργεί αναντιστοιχία ονόματος, μπορεί να σπάσει το εύρος των cookies και διδάσκει στους χρήστες να προσπερνούν προειδοποιήσεις που αργότερα θα πρέπει να εξηγήσετε σε έναν ελεγκτή.
Πίσω από αντίστροφο διακομιστή μεσολάβησης, βεβαιωθείτε ότι η εφαρμογή γνωρίζει ότι το αίτημα έφτασε μέσω HTTPS. Οι περισσότερες πλατφόρμες CMS παράγουν απόλυτους συνδέσμους από το σχήμα που ανιχνεύεται, και ένας μεσολαβητής που τερματίζει το TLS χωρίς να προωθεί το αρχικό σχήμα παράγει σελίδα γεμάτη πόρους http:// που το πρόγραμμα περιήγησης μπορεί να μπλοκάρει. Ρυθμίστε τον έμπιστο μεσολαβητή και τις προωθούμενες κεφαλίδες ρητά, αντί να αφήνετε την εφαρμογή να μαντεύει.
Στη συνέχεια ευθυγραμμίστε τη βασική διεύθυνση URL του CMS και του CiviCRM. Το CiviCRM διατηρεί την καθορισμένη βασική διεύθυνση URL του και προσφέρει υποστηριζόμενο τρόπο επανυπολογισμού της: την διοικητική ενέργεια Cleanup Caches and Update Paths, τεκμηριωμένη στον οδηγό αντιμετώπισης προβλημάτων εγκατάστασης του CiviCRM. Εκτελέστε την αφού συμφωνήσουν το κανονικό όνομα και η ρύθμιση του CMS, όχι πριν, αλλιώς απλώς θα αποθηκεύσετε προσωρινά μια τιμή που πρόκειται να αλλάξετε.
cv flush
# then Administer > System Settings > Cleanup Caches and Update Paths
Βήμα 3: ελέγξτε τις διευθύνσεις που παράγει το CiviCRM
Το να φτάσετε στην αρχική σελίδα αποδεικνύει πολύ λίγα. Το CiviCRM εκτελείται μέσα σε ένα CMS, και οι σελίδες που μετράνε είναι αυτές που χτίζουν τις δικές τους διευθύνσεις URL: η ανακατεύθυνση σύνδεσης, το μενού διαχείρισης, οι πόροι επεκτάσεων, οι σύνδεσμοι μεταφορτωμένων αρχείων και κάθε εξωτερική επιστροφή κλήσης που καταχωρεί μια ενσωμάτωση.
Φορτώστε τον πίνακα ελέγχου, ανοίξτε μια εγγραφή επαφής και δείτε τον πηγαίο κώδικα της σελίδας για απόλυτους συνδέσμους. Αν δείχνουν σε όνομα κεντρικού υπολογιστή που μπορεί να φτάσει μόνο μία ομάδα πελατών, η βασική διεύθυνση URL είναι ακόμη λάθος παρόλο που η σελίδα αποδόθηκε. Αν δείχνουν στο σωστό όνομα αλλά στο λάθος σχήμα, η ρύθμιση του μεσολαβητή είναι αυτό που πρέπει να διορθωθεί.
Όπου η διεύθυνση πρέπει πραγματικά να αλλάξει, αντιμετωπίστε το ως μετεγκατάσταση εφαρμογής και όχι ως επεξεργασία DNS. Ελέγξτε τις διευθύνσεις URL πόρων, τις προσωρινές μνήμες, τους δημοσιευμένους συνδέσμους και κάθε εξωτερική ενσωμάτωση που αποθηκεύει την παλιά διεύθυνση, και μετά ενημερώστε τα σε ένα παράθυρο ώστε κανείς να μη κρατά σελιδοδείκτη μισομετεγκατεστημένο.
Το όνομα κεντρικού υπολογιστή ενός αιτήματος δεν είναι απόφαση εμπιστοσύνης
Μην επιλέγετε προνομιακή βασική διεύθυνση URL επειδή μια κεφαλίδα αιτήματος περιέχει συγκεκριμένη συμβολοσειρά. Η PHP τεκμηριώνει ρυθμίσεις Apache στις οποίες η τιμή του ονόματος διακομιστή μπορεί να αντανακλά κεντρικό υπολογιστή που παρέχει ο πελάτης, και η μεταβλητή διεύθυνσης διακομιστή περιγράφει τον διακομιστή, όχι την τοποθεσία του επισκέπτη. Κανένα από αυτά δεν είναι μηχανισμός ελέγχου πρόσβασης, και το να χτίσεις έναν από αυτά είναι ο τρόπος με τον οποίο μια ιδιωτική υπηρεσία καταλήγει να σερβίρει λάθος περιεχόμενο σε λάθος κεντρικό υπολογιστή.
Αν απαιτούνται πραγματικά πολλαπλά ονόματα κεντρικών υπολογιστών, ρυθμίστε ρητή λίστα επιτρεπόμενων στον διακομιστή web, στο CMS και στο επίπεδο εφαρμογής, και αφήστε το όνομα κεντρικού υπολογιστή του αιτήματος να επιλέγει μόνο μεταξύ εγκεκριμένων καταχωρίσεων. Η αυθαίρετη είσοδος δεν πρέπει ποτέ να γίνεται πηγή απόλυτων συνδέσμων ή έμπιστος προορισμός ανακατεύθυνσης.
Ολοκληρώστε με τον ίδιο σελιδοδείκτη σε κάθε εγκεκριμένο περιβάλλον: μια σύνδεση, μια συνηθισμένη εσωτερική πλοήγηση και ένα αίτημα πόρου. Συγκρίνετε τα ονόματα κεντρικών υπολογιστών στις απαντήσεις, όχι μόνο αν φορτώθηκε η σελίδα. Ο έλεγχος των τριών αιτημάτων διαχωρίζει πρόβλημα διαδρομής από εφαρμογή που εξακολουθεί να παράγει λάθος διεύθυνση, και διαρκεί περίπου ένα λεπτό ανά ομάδα πελατών.