Πώς να προσθέσετε ένα πιστοποιητικό SSL και έναν προσαρμοσμένο τομέα Namecheap σε έναν ιστότοπο σελίδων GitLab

Φωτογραφία από τον Markus Spiske (https://unsplash.com/@markusspiske)

Η προσθήκη ενός πιστοποιητικού SSL και ενός προσαρμοσμένου τομέα Namecheap σε έναν ιστότοπο σελίδων GitLab μπορεί να είναι λίγο πιο δύσκολο από ό, τι φαίνεται.

Σημαντικά κομμάτια των πληροφοριών εγκατάστασης ζουν σε μερικές φορές πυκνή τεκμηρίωση σε διαφορετικές τοποθεσίες. Μπορεί να είναι δύσκολο να καταλάβετε αν έχετε ρυθμίσει τα πράγματα σωστά δεδομένου ότι πρέπει να περιμένετε ώρες για να επιβεβαιώσετε ότι οι αλλαγές σας έχουν πολλαπλασιαστεί.

Ακόμη και όταν ξέρετε ότι κάτι είναι λάθος, δεν μπορείτε πάντα να πείτε τι. Αυτό καθιστά το πρόβλημα απογοητευτικό και δύσκολο να διορθωθεί.

Αυτός ο οδηγός στοχεύει να καταστήσει τη διαδικασία λίγο πιο απλή και λιγότερο απογοητευτική. Υποθέτει ότι έχετε:

  • Έχετε ήδη ρυθμίσει το έργο σας στις σελίδες GitLab και μπορείτε να το αποκτήσετε εισάγοντας το .gitlab.io / στο πρόγραμμα περιήγησής σας
  • Έχετε αγοράσει ένα προσαρμοσμένο όνομα τομέα μαζί με ένα πιστοποιητικό SSL μέσω του Namecheap

Βήμα 1: Ενεργοποιήστε το πιστοποιητικό SSL

Στο Namecheap, μεταβείτε στη σελίδα 'Λίστα Προϊόντων'> 'Πιστοποιητικά SSL'. Θα πρέπει να δείτε μια λίστα πιστοποιητικών SSL που έχετε αγοράσει, αλλά δεν έχετε ενεργοποιήσει ακόμα. Κάντε κλικ στην επιλογή "Ενεργοποίηση" στο πιστοποιητικό SSL που θέλετε να ενεργοποιήσετε για τον ιστότοπό σας.

Βήμα 2: Δημιουργήστε το αίτημα πιστοποιητικού SSL

Θα έπρεπε να έχετε φτάσει σε μια σελίδα που μοιάζει με την ακόλουθη:

Για να δημιουργήσετε μια CSR, θα χρειαστεί να εκτελέσετε την ακόλουθη εντολή στο τερματικό σας: openssl req -new -keykey rsa: 2048 -nodes -keyout .key -out <όνομα-τομέα-όνομα > .csr.

Ένα ιδιωτικό κλειδί θα δημιουργηθεί ως αποτέλεσμα αυτής της εντολής. ΜΗ ΧΑΣΕΤΕ ΑΥΤΟ ΤΟ ΚΛΕΙΔΙ. Θα το χρειαστείτε αργότερα όταν θα εγκαταστήσετε το πιστοποιητικό σας στο GitLab. Σε περίπτωση που το χάσετε, θα πρέπει να υποβάλετε άλλο αίτημα CSR.

Μπορείτε να διαβάσετε εδώ τα νιτρινοκονιάδια σχετικά με τη δημιουργία μιας CSR εάν το επιθυμείτε, αλλά το TL DR είναι:

  • Ενθαρρύνεται έντονα να συμπληρώσετε όλα τα απαιτούμενα πεδία. Το CSR σας θα μπορούσε να απορριφθεί κατά την ενεργοποίησή του. Εάν συμπληρώνετε αυτήν την ΕΚΕ για προσωπική ή χόμπι περιοχή, μπορείτε να πληκτρολογήσετε NA για τα πεδία «Οργανισμός» και «Μονάδα Οργανωτικής Οργάνωσης».
  • Αν το πιστοποιητικό εκδίδεται για συγκεκριμένο υποτομέα, θα πρέπει να καθορίσετε τον υποτομέα στο πεδίο "Κοινό όνομα". Παράδειγμα: subdomain.ssl-certificate-host.com
  • Εάν το πιστοποιητικό προορίζεται να είναι πιστοποιητικό μπαλαντέρ, ο τομέας πρέπει να ξεκινά με έναν αστερίσκο. Παράδειγμα: * .ssl-certificate-host.com

Για τους σκοπούς αυτού του οδηγού, θα γίνει η παραδοχή ότι λαμβάνετε το πιστοποιητικό για κάτι σαν το .com.

Μόλις εκτελέσετε την εντολή, θα πρέπει να έχετε ένα αρχείο .csr και .key στον κατάλογο εργασίας σας. Ανοίξτε το αρχείο .csr και αντιγράψτε τα περιεχόμενα σε αυτό. Θα πρέπει να έχει την επικεφαλίδα ----- ΑΡΧΗ ΠΙΣΤΟΠΟΙΗΤΙΚΟΥ ΠΡΑΞΗΣ -----.

Επικολλήστε τα περιεχόμενα του αρχείου στο πεδίο Enter CSR. Η σελίδα θα συμπληρώσει αυτόματα το πεδίο τομέα στο έντυπο με βάση τις πληροφορίες στην ΕΧΑ.

Αφού κάνετε κλικ στο κουμπί "Επόμενο", θα δείτε την παρακάτω σελίδα:

Ελέγξτε ότι οι πληροφορίες είναι σωστές και, στη συνέχεια, κάντε ξανά κλικ στο κουμπί "Επόμενο" για να μεταβείτε στο βήμα "Επιβεβαίωση ότι είστε ο κάτοχος του τομέα".

Βήμα 3: Επιβεβαιώστε ότι είστε ο κάτοχος του τομέα

Υπάρχουν μερικές διαφορετικές επιλογές που είναι διαθέσιμες σε σας για να το κάνετε αυτό:

  • ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
  • Βασισμένο σε HTTP
  • DNS-based

Εγώ προσωπικά είχα θέματα επικύρωσης μέσω ηλεκτρονικού ταχυδρομείου, οπότε για τους σκοπούς αυτού του οδηγού, επιλέξτε "με βάση το DNS". Αυτό απαιτεί να ρυθμίσετε μια τιμή CNAME στις ρυθμίσεις DNS του τομέα σας, τις οποίες θα καλύψουμε αργότερα σε αυτόν τον οδηγό.

Προς το παρόν, κάντε κλικ στο κουμπί "Επόμενο" μετά την επιλογή "Βασισμένο σε DNS", αλλά αν αλλάξετε γνώμη σχετικά με αυτή τη μορφή επικύρωσης αργότερα, είναι δυνατό να το αλλάξετε.

Βήμα 4: Καθορίστε ποιος θα λάβει το αρχείο SSL

Επιβεβαιώστε ότι το ηλεκτρονικό ταχυδρομείο στο πεδίο είναι σωστό. Αυτό είναι το μήνυμα ηλεκτρονικού ταχυδρομείου που θα λάβει το πιστοποιητικό μόλις ενεργοποιηθεί.

Βήμα 5: Επανεξέταση και Υποβολή

Επιβεβαιώστε ότι οι πληροφορίες που εμφανίζονται είναι σωστές και κάντε κλικ στο κουμπί "Υποβολή".

Βήμα 6: Ρυθμίστε την εγγραφή CNAME για επικύρωση της ιδιοκτησίας του τομέα

Αφού υποβάλετε τη φόρμα, θα μεταφερθείτε σε μια σελίδα που εμφανίζει τα στοιχεία του πιστοποιητικού SSL με ένα χρήσιμο παράθυρο ειδοποίησης που μοιάζει με το ακόλουθο:

Κάντε κλικ στο σύνδεσμο για τη μέθοδο DCV με βάση το DNS. Θα μεταφερθείτε σε μια σελίδα που εμφανίζει πληροφορίες που καταχωρίσατε νωρίτερα, όπως:

  • Το όνομα τομέα
  • Ο τύπος του διακομιστή ιστού που θα έχει εγκατεστημένο το πιστοποιητικό (θα πρέπει να είναι Apache, Nginx, cPanel ή άλλος)
  • Μέθοδοι DCV σε χρήση

Μεταβείτε στις αναπτυσσόμενες επιλογές για το κουμπί "Επεξεργασία μεθόδων" στα δεξιά του "Μέθοδοι DCV που χρησιμοποιούνται" για να αποκτήσετε πρόσβαση και να κάνετε κλικ στην επιλογή "Λήψη εγγραφών".

Θα εμφανιστεί ένα αναδυόμενο παράθυρο που θα εμφανίζει την εγγραφή CNAME που πρέπει να ρυθμίσετε για να επιβεβαιώσετε την ιδιοκτησία του τομέα. Αντιγράψτε αυτές τις τιμές σε ένα κενό αρχείο κειμένου, καθώς θα χρειαστεί να μεταβείτε στη σελίδα "Advanced DNS" για τον τομέα σας. Αυτό είναι προσβάσιμο μέσω του 'Πίνακα ελέγχου' ή 'Λίστα τομέων'> 'Διαχείριση' (εκτός από τον τομέα σας στη λίστα)> 'Advanced DNS'.

Στην ενότητα "Αρχεία κεντρικών υπολογιστών":

  • Κάντε κλικ στην επιλογή "Προσθήκη νέας εγγραφής"
  • Επιλέξτε "Εγγραφή CNAME".
  • Επικολλήστε τις τιμές που αντιγράψατε νωρίτερα από το παράθυρο 'Λήψη εγγραφής' στα αντίστοιχα πεδία.

Πριν αποθηκεύσετε αυτές τις αξίες όμως, υπάρχει ένα κομμάτι 'gotcha'.

Όπως σημειώνει η Namecheap στην τεκμηρίωσή τους, προσθέτουν αυτόματα το όνομα τομέα στις τιμές που υποβάλλονται κατά τη δημιουργία των εγγραφών. Αυτό σημαίνει ότι το όνομα τομέα που εμφανίζεται στην τιμή 'host' είναι μια διπλότυπη τιμή. Καταργήστε το .com στο τέλος της τιμής 'host' και θα είναι καλό να πάτε.

Αφού αποθηκεύσετε αυτήν την εγγραφή, θα χρειαστεί λίγος χρόνος για να εκδοθεί το πιστοποιητικό. Μόλις λάβετε το πιστοποιητικό στο ηλεκτρονικό σας ταχυδρομείο, προχωρήστε στο βήμα 8. Εάν δεν το έχετε ήδη, ας ρυθμίσετε τις πρόσθετες εγγραφές που απαιτούνται για να στείλετε άτομα στο .gitlab.io / όταν μπαίνουν στο .com.

Βήμα 7: Ρυθμίστε τα αρχεία του κεντρικού υπολογιστή σας στο Namecheap

Όπως περιγράφεται στα έγγραφα του GitLab, θα πρέπει επίσης να αποδείξετε στο τέλος των πραγμάτων του GitLab ότι κατέχετε τον προσαρμοσμένο τομέα στον οποίο θέλετε να προβάλλετε τον ιστότοπο των σελίδων GitLab.

Όπως αναφέρθηκε προηγουμένως, αυτός ο οδηγός υποθέτει ότι απλά θέλετε να χρησιμοποιήσετε το example.com (ή το www.example.com), επομένως θα θέλετε να προσθέσετε τις ακόλουθες εγγραφές κεντρικού υπολογιστή:

  • Εγγραφή τύπου Α, Host @, Τιμή 35.185.44.232 (αυτό είναι το τρέχον GitLab Pages IP κατά τη στιγμή της εγγραφής)
  • Πληκτρολογήστε εγγραφή CNAME, Host www, Value example.com (αυτό εξασφαλίζει ότι οι χρήστες που εισέρχονται στον υποτομέα www (δηλ .: www.example.com) φτάνουν ακόμα στον ιστότοπό σας)
  • Σημείωση: Δεν θα μπορείτε να εισάγετε αυτόν τον αριθμό μέχρι να προσθέσετε τον τομέα μέσω της ροής "Νέες σελίδες" που περιγράφεται στο βήμα 8. Πληκτρολογήστε εγγραφή TXT, Host @, Value gitlab-pages-verification-code = 11112222aaabbbb

Βήμα 8: Εγκαταστήστε το πιστοποιητικό στο GitLab

Επισκεφθείτε τη σελίδα "Σελίδες" του έργου GitLab που προσπαθείτε να ρυθμίσετε (στην ενότητα "Ρυθμίσεις"> "Σελίδες" στην πλαϊνή γραμμή).

Για να προσθέσετε τον προσαρμοσμένο τομέα σας στο οποίο η GitLab εξυπηρετεί τον ιστότοπό σας, κάντε κλικ στο κουμπί 'Νέο τομέα' επάνω δεξιά. Θα πρέπει να δείτε κάτι σαν το εξής:

Εισαγάγετε τον προσαρμοσμένο τομέα σας (example.com) στο πεδίο τομέα και, στη συνέχεια, το επόμενο μέρος είναι το σημείο ενδιαφέροντος.

Αν προσπαθήσετε μόνο να εισαγάγετε τα πιστοποιητικά σας (example_com.crt) και το ιδιωτικό σας κλειδί (που δημιουργήθηκαν κατά την αρχική αποστολή του αιτήματος πιστοποιητικού) στα πεδία, πιθανόν να λάβετε ένα σφάλμα "Πιστοποιητικό που λείπει από ενδιάμεσα προϊόντα".

Αυτό οφείλεται στο γεγονός ότι το GitLab χρησιμοποιεί κάτι σαν το NGINX για να λαμβάνει αιτήματα στο Σελίδες IP της σελίδας του, προτού δρομολογήσει το αίτημα στον σωστό ιστότοπο. Η Namecheap, στην τεκμηρίωσή τους, καλεί ότι "πρέπει να συνδυάσει το πιστοποιητικό σας με τα πιστοποιητικά της CA σε ένα μόνο αρχείο".

Αυτό που σημαίνει για εσάς είναι ότι πρέπει να συνδυάσετε το κείμενο που βρέθηκε στα αρχεία example_com.crt και example_com.ca-bundle στο "πεδίο πιστοποιητικού". Στο τέλος θα πρέπει να έχετε κάτι σαν:

Προσθέστε το ιδιωτικό κλειδί στο τελευταίο πεδίο και τελειώσατε. Θα χρειαστεί χρόνος για να μεταδοθούν οι αλλαγές. Αν επιστρέψετε σε λίγες ώρες, θα πρέπει να δείτε μια ένδειξη δίπλα στη διεύθυνσή σας στη γραμμή URL που δείχνει ότι η σύνδεσή σας με τον ιστότοπό σας είναι πλέον ασφαλής.

Πόροι / Αναφορές

  • https://about.gitlab.com/features/pages/
  • https://docs.gitlab.com/ee/user/project/pages/getting_started_part_three.html#dns-txt-record
  • https://www.namecheap.com/support/knowledgebase/article.aspx/9474/69/how-do-i-create-a-pem-file-from-the-certificates-i-received-from-you
  • https://www.namecheap.com/support/knowledgebase/article.aspx/9637/68/how-can-i-complete-the-domain-control-validation-dcv-for-my-SSL-certificate#dns
  • https://stackoverflow.com/a/49124195/2719852