Τι είναι μια εγγραφή CNAME;

Γιατί να δείξεις ένα όνομα domain σε άλλο όνομα domain αντί για διεύθυνση IP; Ακριβώς αυτό κάνει μια εγγραφή CNAME στο DNS. Δημιουργεί ένα ψευδώνυμο, ώστε ένα hostname να ακολουθεί όπου πηγαίνει ένα άλλο hostname. Αυτό το κεφάλαιο εξηγεί τι είναι μια εγγραφή…

Πρόχειρο

Αν έχεις διαβάσει το κεφάλαιο για τους τύπους εγγραφών DNS, ξέρεις ήδη ότι κάθε εγγραφή που αποθηκεύεται σε έναν nameserver έχει συγκεκριμένη δουλειά. Η εγγραφή A αντιστοιχίζει ένα όνομα domain σε διεύθυνση IP. Η εγγραφή MX χειρίζεται τη δρομολόγηση του email. Η εγγραφή CNAME δουλεύει διαφορετικά και από τις δύο. Αντί να δείχνει σε διεύθυνση IP ή σε server email, δείχνει ένα όνομα domain σε άλλο όνομα domain. Αυτή η απλή διαφορά την κάνει μία από τις πιο χρήσιμες και πιο παρεξηγημένες εγγραφές του DNS.

Τι σημαίνει CNAME;

Το CNAME σημαίνει canonical name (κανονικό όνομα). Εδώ το "canonical" σημαίνει η επίσημη ή κύρια εκδοχή. Όταν δημιουργείς μια εγγραφή CNAME, λες ότι ένα hostname είναι απλώς ψευδώνυμο για άλλο. Το hostname προορισμού είναι το κανονικό όνομα και το ψευδώνυμο το ακολουθεί όπου πηγαίνει.

Για παράδειγμα, αν ρυθμίσεις μια εγγραφή CNAME ώστε το "www.yoursite.com" να δείχνει στο "yoursite.com", λες στο DNS ότι το "www.yoursite.com" είναι ψευδώνυμο. Το κανονικό όνομα είναι το "yoursite.com". Κάθε φορά που κάποιος ψάχνει την εκδοχή www, το DNS ακολουθεί το ψευδώνυμο και επιλύει το κανονικό όνομα.

Πώς δουλεύει μια εγγραφή CNAME;

Μια εγγραφή CNAME, με απλά λόγια, δουλεύει σαν διεύθυνση προώθησης. Ο browser ρωτά το DNS για τη διεύθυνση IP ενός hostname. Το DNS βρίσκει μια εγγραφή CNAME σε αυτό το hostname. Αντί να επιστρέψει διεύθυνση IP, επιστρέφει ένα άλλο όνομα domain. Ο browser ψάχνει τότε αυτό το δεύτερο όνομα domain και ακολουθεί την εγγραφή A του για να φτάσει στον πραγματικό server.

Δες τι γίνεται βήμα βήμα.

  • Ένας επισκέπτης γράφει "blog.yoursite.com" στον browser
  • Ο browser ζητά από το DNS να επιλύσει το "blog.yoursite.com"
  • Το DNS βρίσκει μια εγγραφή CNAME που δείχνει το "blog.yoursite.com" στο "yoursite.com"
  • Το DNS ψάχνει τότε την εγγραφή A του "yoursite.com"
  • Η εγγραφή A επιστρέφει τη διεύθυνση IP του server
  • Ο browser συνδέεται σε αυτή τη διεύθυνση IP και φορτώνει τη σελίδα

Το επιπλέον βήμα γίνεται στο παρασκήνιο και παίρνει μόνο χιλιοστά του δευτερολέπτου. Ο επισκέπτης δεν το βλέπει ποτέ. Το όφελος είναι ότι αν αλλάξεις τη διεύθυνση IP στην εγγραφή A του "yoursite.com", κάθε ψευδώνυμο CNAME που δείχνει σε αυτό ακολουθεί αυτόματα. Ενημερώνεις μία εγγραφή αντί για πολλές.

Πώς μοιάζει μια εγγραφή CNAME;

Μια εγγραφή CNAME έχει τέσσερα μέρη. Το καθένα έχει συγκεκριμένο ρόλο.

  • Hostname (όνομα) είναι το ψευδώνυμο που δημιουργείς. Είναι το όνομα domain που θα δείχνει αλλού. Παράδειγμα τιμής: "www" ή "blog"
  • Τύπος λέει στο DNS ότι αυτή είναι εγγραφή CNAME
  • Προορισμός (τιμή) είναι το κανονικό όνομα domain στο οποίο δείχνει το ψευδώνυμο. Παράδειγμα τιμής: "yoursite.com"
  • TTL (time to live) ελέγχει για πόση ώρα οι servers DNS κρατούν αυτή την εγγραφή στη cache πριν ελέγξουν για ενημερώσεις. Μετριέται σε δευτερόλεπτα. Μια συνηθισμένη τιμή είναι 3600, δηλαδή μία ώρα

Σε έναν πίνακα διαχείρισης DNS, μια τυπική καταχώριση CNAME θα έδειχνε "www" ως hostname, "CNAME" ως τύπο, "yoursite.com" ως προορισμό και "3600" ως TTL.

Πότε πρέπει να χρησιμοποιείς εγγραφή CNAME;

Οι εγγραφές CNAME είναι χρήσιμες όποτε θέλεις ένα hostname να ακολουθεί ένα άλλο. Οι πιο συνηθισμένες περιπτώσεις είναι οι παρακάτω.

Να δείξεις το www στο ριζικό domain

Η πιο συνηθισμένη χρήση μιας εγγραφής CNAME είναι να κάνει το "www.yoursite.com" να δείχνει στο "yoursite.com". Το ριζικό domain έχει εγγραφή A με τη διεύθυνση IP του server. Η εκδοχή www έχει CNAME που δείχνει στη ρίζα. Αν αλλάξει η IP του server, ενημερώνεις μόνο την εγγραφή A. Το ψευδώνυμο www ακολουθεί αυτόματα.

Να συνδέσεις υποτομείς με εξωτερικές υπηρεσίες

Πολλές υπηρεσίες τρίτων σού ζητούν να δημιουργήσεις μια εγγραφή CNAME για να συνδέσεις τον υποτομέα σου με την πλατφόρμα τους. Για παράδειγμα, μπορεί να δείξεις το "shop.yoursite.com" στη διεύθυνση server μιας εξωτερικής υπηρεσίας. Το CNAME σού επιτρέπει να χρησιμοποιείς το δικό σου όνομα domain, ενώ η υπηρεσία χειρίζεται τη φιλοξενία στο παρασκήνιο.

Να ρυθμίσεις ένα CDN

Ένα δίκτυο διανομής περιεχομένου (CDN) επιταχύνει την ιστοσελίδα σου σερβίροντας αρχεία από servers πιο κοντά στον κάθε επισκέπτη. Για να χρησιμοποιήσεις CDN, συχνά δημιουργείς μια εγγραφή CNAME που δείχνει το domain ή τον υποτομέα σου στη διεύθυνση του παρόχου CDN. Έτσι η κίνησή σου περνά από το δίκτυό του χωρίς να αλλάξει η πραγματική ρύθμιση της φιλοξενίας σου.

Να διαχειρίζεσαι πολλούς υποτομείς αποδοτικά

Αν έχεις αρκετούς υποτομείς που πρέπει όλοι να φτάνουν στον ίδιο server, μπορείς να τους δείξεις όλους ως ψευδώνυμα CNAME σε ένα domain που έχει την εγγραφή A. Όταν αλλάξει η διεύθυνση IP του server, ενημερώνεις μία εγγραφή A αντί να ενημερώνεις κάθε υποτομέα ξεχωριστά.

Ποια είναι η διαφορά ανάμεσα σε εγγραφή CNAME και εγγραφή A;

Η βασική διαφορά είναι σε τι δείχνει η κάθε εγγραφή. Μια εγγραφή A αντιστοιχίζει ένα όνομα domain απευθείας σε διεύθυνση IP. Μια εγγραφή CNAME αντιστοιχίζει ένα όνομα domain σε άλλο όνομα domain. Η εγγραφή A είναι ο τελικός προορισμός. Η CNAME είναι μια ανακατεύθυνση που οδηγεί στον τελικό προορισμό.

Αυτές είναι οι βασικές διαφορές.

  • Η εγγραφή A κρατά διεύθυνση IP. Η CNAME κρατά όνομα domain
  • Η εγγραφή A μπορεί να υπάρχει σε οποιοδήποτε hostname, και στο ριζικό domain. Η CNAME δεν μπορεί να υπάρχει στο ριζικό domain
  • Η εγγραφή A επιλύεται σε ένα βήμα. Η CNAME προσθέτει ένα επιπλέον βήμα αναζήτησης, γιατί το DNS πρέπει να ακολουθήσει το ψευδώνυμο και μετά να επιλύσει την εγγραφή A του προορισμού
  • Την εγγραφή A πρέπει να την ενημερώσεις χειροκίνητα αν αλλάξει η διεύθυνση IP. Η CNAME ακολουθεί αυτόματα όποια διεύθυνση IP επιλύει ο προορισμός

Χρησιμοποίησε εγγραφή A όταν ξέρεις τη διεύθυνση IP και δεν είναι πιθανό να αλλάξει. Χρησιμοποίησε CNAME όταν θέλεις ένα hostname να ακολουθεί ένα άλλο, ειδικά όταν τη διεύθυνση IP πίσω του τη διαχειρίζεται κάποιος άλλος.

Ποιοι είναι οι κανόνες και οι περιορισμοί των εγγραφών CNAME;

Οι εγγραφές CNAME έχουν συγκεκριμένους κανόνες στην προδιαγραφή του DNS, που τις κάνουν διαφορετικές από τους άλλους τύπους. Αν παραβιάσεις αυτούς τους κανόνες, προκύπτουν σφάλματα που μπορεί να βγάλουν την ιστοσελίδα ή το email σου εκτός λειτουργίας.

Μια CNAME δεν μπορεί να υπάρχει στο ριζικό domain

Η προδιαγραφή του DNS δεν επιτρέπει εγγραφή CNAME στο ριζικό (apex) domain. Το ριζικό domain είναι η γυμνή εκδοχή του domain σου χωρίς πρόθεμα, όπως το "yoursite.com" αντί για "www.yoursite.com". Ο περιορισμός υπάρχει γιατί οι εγγραφές CNAME δεν μπορούν να συνυπάρχουν με άλλους τύπους εγγραφών στο ίδιο hostname και το ριζικό domain χρειάζεται άλλες εγγραφές (όπως MX για το email και NS για τους nameservers) για να λειτουργήσει.

Αν χρειάζεται το ριζικό domain να δείχνει κάπου, χρησιμοποίησε αντί γι' αυτό εγγραφή A. Κάποιοι πάροχοι DNS προσφέρουν μια λύση που λέγεται εγγραφές ALIAS ή ANAME, οι οποίες δουλεύουν σαν CNAME αλλά επιτρέπονται στο ριζικό domain. Δεν το υποστηρίζει κάθε πάροχος.

Μια CNAME δεν μπορεί να μοιράζεται hostname με άλλες εγγραφές

Αν ένα hostname έχει εγγραφή CNAME, δεν μπορεί να έχει κανέναν άλλον τύπο εγγραφής στο ίδιο hostname. Ούτε εγγραφές A, ούτε MX, ούτε TXT. Η CNAME πρέπει να είναι η μόνη εγγραφή σε αυτό το όνομα. Γι' αυτό δεν μπορείς να βάλεις CNAME στο ριζικό domain, γιατί το ριζικό domain χρειάζεται ήδη εγγραφές NS και συνήθως χρειάζεται και MX και TXT.

Οι αλυσίδες CNAME πρέπει να αποφεύγονται

Αλυσίδα CNAME έχουμε όταν μια CNAME δείχνει σε άλλη CNAME, που δείχνει σε άλλη CNAME, μέχρι να φτάσουμε τελικά σε εγγραφή A. Παρόλο που το DNS μπορεί τεχνικά να ακολουθήσει τέτοιες αλυσίδες, κάθε βήμα προσθέτει χρόνο αναζήτησης και αυξάνει την πιθανότητα timeout ή αποτυχίας. Κράτα το απλό. Δείξε κάθε CNAME απευθείας σε hostname που έχει εγγραφή A.

Πώς προσθέτεις μια εγγραφή CNAME;

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

  1. Συνδέσου στον πίνακα διαχείρισης DNS όπου έχουν οριστεί οι nameservers του domain σου. Συνήθως είναι ο registrar σου ή ο πάροχος φιλοξενίας σου
  2. Βρες την ενότητα με τις εγγραφές DNS ή τον επεξεργαστή ζώνης DNS
  3. Πάτησε την επιλογή για προσθήκη νέας εγγραφής
  4. Διάλεξε CNAME ως τύπο εγγραφής
  5. Γράψε το hostname που θέλεις να δημιουργήσεις ως ψευδώνυμο (για παράδειγμα "www" ή "blog")
  6. Γράψε το όνομα domain προορισμού στο οποίο πρέπει να δείχνει το ψευδώνυμο (για παράδειγμα "yoursite.com" ή τη διεύθυνση ενός παρόχου υπηρεσίας)
  7. Όρισε το TTL. Αν δεν είσαι σίγουρος, χρησιμοποίησε την προεπιλεγμένη τιμή που προτείνει ο πάροχός σου ή βάλε 3600 (μία ώρα)
  8. Αποθήκευσε την εγγραφή

Οι αλλαγές στο DNS μπορεί να πάρουν από λίγα λεπτά έως 48 ώρες για να απλωθούν στο διαδίκτυο. Αυτή η καθυστέρηση λέγεται διάδοση DNS. Στο διάστημα αυτό, κάποιοι επισκέπτες μπορεί να βλέπουν ακόμα τις παλιές ρυθμίσεις και άλλοι τις νέες. Για περισσότερα για το πώς δουλεύει αυτή η διαδικασία, διάβασε το κεφάλαιο για το πώς δουλεύει το DNS.

Ποια είναι τα συνηθισμένα λάθη με τις CNAME;

Τα περισσότερα προβλήματα με CNAME προέρχονται από λίγα επαναλαμβανόμενα λάθη. Αν τα ξέρεις από πριν, γλιτώνεις χρόνο και αποφεύγεις διακοπές.

  • Βάζεις CNAME στο ριζικό domain. Αυτό χαλάει το DNS. Χρησιμοποίησε εγγραφή A στο ριζικό domain
  • Προσθέτεις άλλες εγγραφές δίπλα σε μια CNAME. Αν ένα hostname έχει CNAME, πρέπει να είναι η μόνη εγγραφή σε αυτό το hostname. Μια εγγραφή MX ή TXT στο ίδιο hostname προκαλεί συγκρούσεις
  • Δημιουργείς αλυσίδες CNAME. Αν δείχνεις μια CNAME σε άλλη CNAME και αυτή σε τρίτη, προσθέτεις άσκοπες αναζητήσεις. Δείξε κάθε CNAME απευθείας σε hostname που επιλύεται με εγγραφή A
  • Ξεχνάς την τελεία στο τέλος. Κάποιοι πάροχοι DNS απαιτούν τελεία στο τέλος του domain προορισμού (όπως "yoursite.com.") για να δείξουν ότι είναι πλήρως προσδιορισμένο όνομα domain. Αν την παραλείψεις, ο πάροχος μπορεί να προσθέσει επιπλέον κείμενο στον προορισμό
  • Χρησιμοποιείς CNAME ενώ η εγγραφή A είναι καλύτερη. Αν ελέγχεις τον server και η διεύθυνση IP είναι σταθερή, η εγγραφή A είναι πιο απλή και επιλύεται πιο γρήγορα. Χρησιμοποίησε CNAME όταν η διεύθυνση IP του προορισμού μπορεί να αλλάξει ή τη διαχειρίζεται τρίτος

Το WEMASY και οι εγγραφές CNAME

Μπορείς να συνδέσεις το δικό σου domain με ένα πακέτο επί πληρωμή του WEMASY.

Δες τι περιλαμβάνει κάθε πακέτο στη σελίδα WEMASY pricing.

Τι ακολουθεί

Τώρα που καταλαβαίνεις πώς οι εγγραφές CNAME δημιουργούν ψευδώνυμα ανάμεσα σε ονόματα domain, το επόμενο κεφάλαιο καλύπτει έναν ακόμα βασικό τύπο εγγραφής. Οι εγγραφές MX ελέγχουν πού παραδίδεται το email του domain σου και ακολουθούν δικούς τους κανόνες. Αυτό καλύπτεται στο επόμενο κεφάλαιο για το τι είναι μια εγγραφή MX. Για μια επισκόπηση όλων των τύπων εγγραφών και του πότε χρησιμοποιείς τον καθένα, δες το κεφάλαιο για τους τύπους εγγραφών DNS.

Μπορεί μια εγγραφή CNAME να δείχνει σε διεύθυνση IP;

Όχι. Μια εγγραφή CNAME μπορεί να δείχνει μόνο σε άλλο όνομα domain, ποτέ σε διεύθυνση IP. Αν χρειάζεται να δείξεις ένα hostname απευθείας σε διεύθυνση IP, χρησιμοποίησε εγγραφή A (για IPv4) ή εγγραφή AAAA (για IPv6). Ο σκοπός της CNAME είναι να δημιουργεί ψευδώνυμο ανάμεσα σε δύο ονόματα domain.

Επηρεάζει μια εγγραφή CNAME την ταχύτητα της ιστοσελίδας;

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

Τι συμβαίνει αν ο προορισμός μιας εγγραφής CNAME πέσει εκτός λειτουργίας;

Αν το όνομα domain στο οποίο δείχνει η CNAME σταματήσει να επιλύεται ή ο server πίσω του πέσει, σταματά να δουλεύει και το ψευδώνυμό σου. Η CNAME ακολουθεί τον προορισμό όπου κι αν πάει, και στη διακοπή. Η ίδια η εγγραφή CNAME δεν έχει ενσωματωμένη εφεδρική λύση.

Είναι η CNAME το ίδιο με μια ανακατεύθυνση;

Όχι. Η CNAME είναι ψευδώνυμο σε επίπεδο DNS που λέει στον browser πού να βρει τον server. Το URL στον browser μένει το ίδιο. Η ανακατεύθυνση είναι οδηγία σε επίπεδο server που στέλνει τον browser σε εντελώς διαφορετικό URL και το URL στον browser αλλάζει. Η CNAME συνδέει ονόματα domain στο παρασκήνιο. Η ανακατεύθυνση στέλνει τους επισκέπτες σε νέα διεύθυνση.

Μπορείς να χρησιμοποιήσεις CNAME και εγγραφή A στο ίδιο hostname;

Όχι. Η προδιαγραφή του DNS δεν επιτρέπει σε μια CNAME να συνυπάρχει με άλλον τύπο εγγραφής στο ίδιο hostname. Αν ένα hostname έχει CNAME, πρέπει να είναι η μόνη εγγραφή σε αυτό το όνομα. Αυτός είναι ένας από τους λόγους που δεν μπορείς να βάλεις CNAME στο ριζικό domain, που χρειάζεται ήδη εγγραφές NS και συχνά MX και TXT.

Βάλ’ το αμέσως σε εφαρμογή
στη δική σου ιστοσελίδα.

Ξεκίνα δωρεάν με το WEMASY και φτιάξε τη σελίδα σου σε λίγα λεπτά.