Προετοιμάστε τον διακομιστή και το πιστοποιητικό για το προβλεπόμενο hostname, δοκιμάστε την εφαρμογή πριν αλλάξετε το δημόσιο DNS, και κρατήστε το παλιό περιβάλλον διαθέσιμο κατά τη μετάβαση. Επαληθεύστε ανεξάρτητα τις έγκυρες εγγραφές, τις προσωρινά αποθηκευμένες απαντήσεις και το TLS. Μια ενημέρωση DNS από μόνη της δεν αποδεικνύει ότι σερβίρεται η σωστή εφαρμογή και το σωστό πιστοποιητικό.
Καταγράψτε τα ονόματα και τις εξαρτήσεις
Καταγράψτε κάθε hostname που χρησιμοποιεί ο ιστότοπος, συμπεριλαμβανομένου του κύριου domain, των aliases, των endpoints API και των callbacks της εφαρμογής. Καταγράψτε ποιος ελέγχει την καταχώριση και το έγκυρο DNS. Η φιλοξενία μιας εφαρμογής δεν καταχωρίζει αυτόματα το domain της ούτε δίνει στον φορέα εκμετάλλευσης του διακομιστή τον έλεγχο των εγγραφών της. Κρατήστε την πρόσβαση στο υπάρχον περιβάλλον μέχρι να επικυρωθεί το νέο.
Εντοπίστε επίσης εγγραφές email και επαλήθευσης τρίτων που πρέπει να διατηρήσει η μετακίνηση. Μια μετεγκατάσταση ιστότοπου δεν πρέπει να αντικαθιστά αβασάνιστα ολόκληρη τη ζώνη DNS. Φτιάξτε σχέδιο αλλαγών σε επίπεδο εγγραφής με τις προβλεπόμενες διευθύνσεις και μια τιμή επαναφοράς. Αποθηκεύστε τα διαπιστευτήρια ιδιωτικά· το εγχειρίδιο χρειάζεται υπεύθυνους και διαδικασίες, όχι πραγματικούς κωδικούς πρόσβασης ή διακριτικά API.
Προετοιμάστε τη δρομολόγηση hostname στον νέο διακομιστή
Ένα μηχάνημα που δέχεται σύνδεση πρέπει να σερβίρει τη σωστή εφαρμογή για το hostname του. Διαμορφώστε ανάλογα τον web server ή τον πίνακα φιλοξενίας, με τον δημόσιο ριζικό κατάλογο εγγράφων χωρισμένο από την ιδιωτική διαμόρφωση και τα διαπιστευτήρια. Δοκιμάστε όλα τα απαιτούμενα ονόματα και redirects, όχι μόνο μια γενική σελίδα καλωσορίσματος που φτάνει μέσω της διεύθυνσης του διακομιστή.
Χρησιμοποιήστε ελεγχόμενη μέθοδο δοκιμής που στέλνει το προβλεπόμενο hostname στο νέο endpoint πριν από τη δημόσια αλλαγή. Ελέγξτε σύνδεση, μεταφορτώσεις και συνδέσμους που δημιουργεί η εφαρμογή, όπου ισχύει. Απενεργοποιήστε εργασίες που θα μπορούσαν να αντιγράψουν ενέργειες παραγωγής κατά τη δοκιμή. Η δοκιμή πρέπει να αποδεικνύει τη συμπεριφορά της εφαρμογής χωρίς αποστολή πραγματικού email, λήψη πληρωμών ή ακούσια τροποποίηση της παλιάς ζωντανής βάσης δεδομένων.
Επιλέξτε μέθοδο επικύρωσης πιστοποιητικού
Η έκδοση πιστοποιητικού απαιτεί απόδειξη ελέγχου για τα ζητούμενα ονόματα. Το Let's Encrypt τεκμηριώνει τις μεθόδους HTTP-01 και DNS-01 μεταξύ των μεθόδων επικύρωσής του. Η επικύρωση HTTP εξαρτάται από τη σωστή εξυπηρέτηση της απαιτούμενης πρόκλησης· η επικύρωση DNS χρησιμοποιεί μια καθορισμένη εγγραφή DNS και μπορεί να υποστηρίξει έκδοση wildcard. Επιλέξτε μέθοδο που ταιριάζει στην πραγματική ανάπτυξη και μπορεί να συντηρηθεί με ασφάλεια.
Κρατήστε τα διαπιστευτήρια επικύρωσης με στενό πεδίο εφαρμογής όπου είναι δυνατόν. Ο αυτοματισμός DNS είναι ιδιαίτερα ευαίσθητος, επειδή ευρέα διαπιστευτήρια DNS μπορούν να επηρεάσουν περισσότερους από έναν ιστότοπους. Σχεδιάστε την ανανέωση πιστοποιητικού και πώς τα ανανεωμένα αρχεία φτάνουν στη διαδικασία εξυπηρέτησης. Η επιτυχής πρώτη έκδοση είναι χρήσιμη, αλλά ένας ιστότοπος χρειάζεται επίσης λειτουργική διαδικασία ανανέωσης και παρακολούθηση του πιστοποιητικού που πραγματικά παρουσιάζει.
Σχεδιάστε το παράθυρο cache πριν αλλάξετε το DNS
Οι εγγραφές DNS φέρουν χρόνο ζωής που χρησιμοποιούν οι resolvers κατά την προσωρινή αποθήκευση απαντήσεων. Μια αλλαγή εγγραφής δεν αντικαθιστά ακαριαία κάθε προσωρινά αποθηκευμένο αποτέλεσμα. Εάν μια μετάβαση ωφελείται από μικρότερο TTL, σχεδιάστε την προσαρμογή αρκετά νωρίς ώστε να μπορούν να λήξουν οι απαντήσεις που είχαν προσωρινά αποθηκευτεί. Κρατήστε και το παλιό και το νέο περιβάλλον ικανά να χειριστούν τη μετάβαση που σχεδιάσατε.
Αυτή η ενδεικτική ακολουθία χωρίζει την προετοιμασία από τη δημόσια μετάβαση. Ο χρονισμός της πρέπει να προσαρμοστεί στο domain, τη συμπεριφορά των resolvers και την εφαρμογή. Δεν είναι καθολικό χρονοδιάγραμμα διάδοσης. Μια μετεγκατάσταση με ζωντανές εγγραφές χρειάζεται επίσης μετάβαση δεδομένων ειδική για την εφαρμογή, επειδή δύο λειτουργικοί web servers μπορούν διαφορετικά να δέχονται αλλαγές σε διαφορετικά σύνολα δεδομένων.
| Στάδιο | Ενέργεια | Συνθήκη πριν προχωρήσετε |
|---|---|---|
| Προετοιμασία | Καταγράψτε εγγραφές και διαμορφώστε νέο endpoint | Η εφαρμογή λειτουργεί για τα προβλεπόμενα ονόματα |
| Πιστοποιητικό | Εκδώστε και εγκαταστήστε πιστοποιητικό | Σωστή αλυσίδα και hostname επικυρώνονται |
| Μετάβαση | Ενημερώστε μόνο τις προγραμματισμένες εγγραφές DNS | Η μετάβαση δεδομένων και η επαναφορά έχουν καθοριστεί |
| Παρατήρηση | Ελέγξτε έγκυρα και αποτελέσματα πελατών | Οι διαδρομές χρηστών πετυχαίνουν μέσω του νέου endpoint |
| Ολοκλήρωση | Αποσύρετε την παλιά υπηρεσία μετά την επικύρωση | Ελέγχθηκαν η υπολειπόμενη κίνηση και οι ανάγκες ανάκτησης |
Επαληθεύστε ξεχωριστά το DNS και το TLS
Ελέγξτε πρώτα την έγκυρη εγγραφή και μετά συγκρίνετε απαντήσεις από πελάτες ή resolvers που εμπλέκονται στη μετάβαση. Μια σωστή έγκυρη τιμή και μια παλαιότερη προσωρινά αποθηκευμένη τιμή μπορούν να συνυπάρχουν. Επιθεωρήστε το endpoint στο οποίο φτάνει το πρόγραμμα περιήγησης αντί να υποθέτετε ότι κάθε σύνδεση χρησιμοποιεί ήδη τη νέα διεύθυνση. Κρατήστε τις παρατηρήσεις με χρονική σήμανση, ώστε η μετάβαση να είναι κατανοητή.
Για το TLS, επικυρώστε το προβλεπόμενο hostname, την εγκυρότητα του πιστοποιητικού και την αλυσίδα μέσω πραγματικής σύνδεσης πελάτη. Επιθεωρήστε κάθε απαιτούμενο alias και διαδρομή redirect. Η τεκμηρίωση TLS της Mozilla εξηγεί τον έλεγχο ταυτότητας διακομιστή και τα ζητήματα μικτού περιεχομένου: η σελίδα και οι υποπόροι της πρέπει να παραδίδονται με ασφάλεια. Ένα πιστοποιητικό σε ένα hostname δεν καλύπτει αυτόματα άλλο endpoint εφαρμογής.
Κάντε την επαναφορά και απόφαση δεδομένων
Μια επαναφορά DNS μπορεί να ανακατευθύνει την κίνηση, αλλά δεν αντιστρέφει τις εγγραφές που έγιναν στη νέα εφαρμογή. Καθορίστε πώς θα χειριστείτε αυτά τα δεδομένα πριν από τη μετάβαση. Για μια στατική δημοσίευση, η επαναφορά μπορεί να είναι απλή· για μια υπηρεσία που δέχεται μεταφορτώσεις ή παραγγελίες, η κατάσταση της εφαρμογής χρειάζεται σαφή υπεύθυνο και διαδικασία συμφιλίωσης.
Φανταστείτε τη μετεγκατάσταση ενός μικρού εκδοτικού ιστότοπου με σχόλια. Μπορείτε να προετοιμάσετε ένα διάστημα συντήρησης ή μια ελεγχόμενη μετάβαση μόνο για ανάγνωση όσο αντιγράφονται τα τελικά δεδομένα. Δοκιμάστε τη διαδικασία επαναλειτουργίας και κρατήστε έτοιμη την παλιά ανάπτυξη. Επιλέξτε την προσέγγιση που ταιριάζει στην εφαρμογή αντί να χρησιμοποιήσετε μια αλλαγή DNS ως υποκατάστατο του σχεδιασμού συνέπειας.
Παρατηρήστε τον ιστότοπο μετά την αλλαγή
Επαληθεύστε πραγματικές διαδρομές χρηστών, ποσοστά σφαλμάτων, παρουσίαση πιστοποιητικού και εργασίες στο παρασκήνιο αφού το νέο endpoint λάβει κίνηση. Επιβεβαιώστε ότι τα αντίγραφα ασφαλείας καλύπτουν τώρα τη σωστή εφαρμογή και τα δεδομένα. Ελέγξτε την πρόσβαση στον παλιό διακομιστή πριν την απόσυρση και αφαιρέστε τα παρωχημένα διαπιστευτήρια όταν έχουν επιλυθεί οι ανάγκες ανάκτησης και επαναφοράς. Καταγράψτε την τελική διαμόρφωση DNS και πιστοποιητικού.
Όταν επιλέγετε φιλοξενία web ή υπολογιστικούς πόρους SwissOctet, επιβεβαιώστε τις πραγματικές ευθύνες για domain, πιστοποιητικό και διαχείριση της διαμόρφωσης. Ο κατάλογος παρέχει προορισμό φιλοξενίας και πόρους· δεν αποδεικνύει ότι το domain σας έχει ήδη συνδεθεί ή ότι έχει διαμορφωθεί ανανέωση πιστοποιητικού. Κρατήστε αυτά τα βήματα συγκεκριμένα και επαληθεύσιμα στο σχέδιο ανάπτυξης.
Η πρακτική λίστα ελέγχου σας.
- Καταγράψτε κάθε hostname και διατηρήστε τις άσχετες εγγραφές DNS.
- Δοκιμάστε τη δρομολόγηση hostname πριν από τη δημόσια μετάβαση.
- Επιλέξτε και αυτοματοποιήστε κατάλληλη πρόκληση πιστοποιητικού.
- Σχεδιάστε τις αλλαγές TTL και τη μετάβαση δεδομένων.
- Επαληθεύστε το DNS και το TLS με ξεχωριστούς ελέγχους.
- Διατηρήστε πρόσβαση επαναφοράς και επιλύστε τις νέες εγγραφές πριν επιστρέψετε.
Οι λεπτομέρειες που έχουν σημασία.
Η αλλαγή μιας εγγραφής A ενεργοποιεί το HTTPS;+
Όχι. Το DNS επιλέγει ένα endpoint· αυτό το endpoint χρειάζεται ακόμη τη σωστή δρομολόγηση hostname και ένα έγκυρο, εγκατεστημένο πιστοποιητικό.
Μπορώ να επαναφέρω μόνο την εγγραφή DNS αν κάτι σπάσει;+
Η κίνηση μπορεί να ανακατευθυνθεί, αλλά οι εγγραφές της εφαρμογής χρειάζονται ξεχωριστό χειρισμό. Καθορίστε σχέδιο επαναφοράς ή συμφιλίωσης δεδομένων πριν από τη μετεγκατάσταση.
Είναι πάντα απαραίτητο ένα πιστοποιητικό wildcard;+
Όχι. Επιλέξτε ονόματα πιστοποιητικού και επικύρωση ανάλογα με τα πραγματικά hostnames. Ένα wildcard έχει συγκεκριμένες απαιτήσεις κάλυψης και επικύρωσης· δεν είναι καθολική συντόμευση μετεγκατάστασης.
Πηγαίνετε στην πηγή.
Αυτές οι αναφορές υποστηρίζουν τις τεχνικές έννοιες σε αυτόν τον οδηγό. Ακολουθήστε την τρέχουσα τεκμηρίωση πριν αλλάξετε ένα σύστημα παραγωγής.
- Let's Encrypt: Τύποι πρόκλησης letsencrypt.org
- IETF RFC 1034: Έννοιες και δυνατότητες DNS datatracker.ietf.org
- Mozilla MDN: Ασφάλεια επιπέδου μεταφοράς developer.mozilla.org
Συντακτική καθοδήγηση από SwissOctet. Τα παραδείγματα είναι ενδεικτικά. Οι προδιαγραφές υπηρεσιών, οι διαθέσιμες επιλογές και οι συμβατικοί όροι πρέπει να επαληθεύονται ξεχωριστά.