Ενότητα 3 · 3.3
Subdomains και wildcards
Ενότητα 3: Εγγραφές για τον ιστότοπό σας · Χρόνος ανάγνωσης: 7 λεπτά
Στόχος μαθήματος: Μετά από αυτό το μάθημα θα μπορείτε να δημιουργήσετε ένα subdomain μέσω του DNS και να εξηγήσετε πώς λειτουργεί ένα wildcard και πού δεν ισχύει.
Βασικές έννοιες: subdomain, wildcard (*), "ένα υπάρχον όνομα υπερισχύει", wildcard και βαθύτερα επίπεδα, subdomain στο πάνελ φιλοξενίας έναντι απλώς μιας εγγραφής DNS
Τι είναι ένα subdomain;
Ένα subdomain είναι ένα όνομα πριν από το domain σας: shop.example.com, blog.example.com, mail.example.com. Ακόμα και το www.example.com είναι τεχνικά απλώς ένα subdomain. Δεν χρειάζεται να καταχωρίσετε ή να πληρώσετε τίποτα για αυτό: όποιος έχει το domain example.com, μπορεί να δημιουργήσει από κάτω όσα ονόματα θέλει. Ένα subdomain δημιουργείται με τη δημιουργία μιας εγγραφής για αυτό.
Ένα subdomain μπορεί επίσης να έχει πολλά επίπεδα βάθους: το test.shop.example.com είναι απολύτως έγκυρο. Κάθε τμήμα ανάμεσα στις τελείες επιτρέπεται να έχει έως 63 χαρακτήρες, και ολόκληρο το όνομα έως 253 χαρακτήρες.
Δύο είδη subdomains
Στην πράξη, η φράση "δημιουργία ενός subdomain" σημαίνει δύο διαφορετικά πράγματα, κάτι που μπερδεύει πολύ κόσμο.
1. Μόνο μια εγγραφή DNS. Δημιουργείτε στο DNS μια εγγραφή A, AAAA ή CNAME για το shop. Έτσι, ο κόσμος ξέρει πού βρίσκεται το shop.example.com. Αν δείχνει σε μια εξωτερική υπηρεσία, όπως μια πλατφόρμα ηλεκτρονικού καταστήματος, τότε έχετε τελειώσει: αυτή η υπηρεσία αναλαμβάνει τον ιστότοπο.
shop.example.com. 3600 IN CNAME shops.platform.example.2. Ένα subdomain στο πάνελ φιλοξενίας σας. Σε ένα πάνελ φιλοξενίας μπορείτε επίσης να δημιουργήσετε ένα subdomain. Τότε συμβαίνουν δύο πράγματα: το πάνελ τοποθετεί (αν το DNS διαχειρίζεται εκεί) μια εγγραφή στο DNS, και επιπλέον ρυθμίζει τον web server με έναν δικό του φάκελο για τα αρχεία αυτού του subdomain. Αυτό χρειάζεται όταν ο ιστότοπος του subdomain θα φιλοξενείται στη δική σας φιλοξενία, για παράδειγμα ένα δεύτερο WordPress στο blog.example.com.
Δύο παγίδες:
- Αν το DNS σας διαχειρίζεται αλλού και όχι στη φιλοξενία σας (διαφορετικοί nameservers, βλ. μάθημα 2.1), τότε το πάνελ τοποθετεί την εγγραφή σε ένα σημείο που κανείς δεν συμβουλεύεται. Δημιουργήστε τότε την εγγραφή οι ίδιοι στον πάροχο που διαχειρίζεται το DNS.
- Αν θέλετε ένα subdomain να δείχνει σε μια εξωτερική υπηρεσία, μην το δημιουργήσετε στο πάνελ φιλοξενίας, αλλά δημιουργήστε μόνο μια εγγραφή DNS. Διαφορετικά θα καταλήξετε με δύο εγγραφές για το ίδιο όνομα που εμποδίζουν η μία την άλλη.
Το wildcard: μία εγγραφή για όλα τα ονόματα
Ένα wildcard είναι μια εγγραφή με αστερίσκο ως όνομα:
*.example.com. 3600 IN A 192.0.2.10Αυτό σημαίνει: "κάθε όνομα κάτω από το example.com που δεν βρίσκεται αλλού στη ζώνη, δείχνει στο 192.0.2.10". Αν κάποιος αναζητήσει το blog.example.com, το test.example.com ή το wat-dan-ook.example.com, και αυτό το όνομα δεν υπάρχει ξεχωριστά, τότε το DNS δίνει την απάντηση του wildcard.
Πολλά πακέτα φιλοξενίας τοποθετούν εξ ορισμού ένα wildcard. Έτσι, ένα νέο subdomain στο πάνελ φιλοξενίας λειτουργεί αμέσως, χωρίς να χρειάζεται ξεχωριστή εγγραφή για κάθε όνομα. Έτσι λειτουργεί αυτόματα και το www.
Πού δεν ισχύει ένα wildcard
Οι κανόνες για τα wildcards αναφέρονται στο RFC 4592. Είναι χρήσιμο να γνωρίζετε τρία πράγματα.
Ένα υπάρχον όνομα υπερισχύει. Αν υπάρχει δική της εγγραφή για το shop.example.com, τότε το wildcard δεν χρησιμοποιείται για αυτό το όνομα. Ούτε καν για άλλους τύπους εγγραφών: αν το shop έχει μόνο ένα CNAME, τότε το wildcard δεν δίνει πλέον ούτε εγγραφή A για το shop. Ένα wildcard είναι επομένως ένα δίχτυ ασφαλείας για ονόματα που δεν υπάρχουν καθόλου.
*.example.com. A 192.0.2.10
www.example.com. CNAME shops.platform.example.Εδώ, το blog.example.com πηγαίνει στο 192.0.2.10, αλλά το www.example.com πηγαίνει στην πλατφόρμα.
Ένα wildcard δεν ισχύει για το βασικό domain (apex). Το *.example.com δεν καλύπτει το example.com καθαυτό. Για αυτό χρειάζεστε μια δική του εγγραφή.
Ένα wildcard δεν ισχύει κάτω από ένα όνομα που υπάρχει. Αν υπάρχει το shop.example.com, τότε το *.example.com δεν καλύπτει το όνομα test.shop.example.com. Το wildcard λειτουργεί μόνο για ονόματα των οποίων ολόκληρη η "διαδρομή" δεν υπάρχει. Αν δεν υπάρχει το shop, τότε το test.shop.example.com εμπίπτει στο wildcard. Αν θέλετε ένα wildcard κάτω από το shop, δημιουργήστε το *.shop.example.com.
Ένα wildcard, πιστοποιητικά και τυπογραφικά λάθη
Ένα wildcard στο DNS δηλώνει μόνο πού δείχνει ένα όνομα. Προσέξτε δύο πράγματα σε σχέση με αυτό:
- Ένα πιστοποιητικό. Για https σε κάθε subdomain χρειάζεστε ένα πιστοποιητικό που να καλύπτει αυτά τα ονόματα. Ένα wildcard πιστοποιητικό (
*.example.com) είναι κάτι διαφορετικό από μια εγγραφή wildcard, και ζητείται ξεχωριστά. Το Let's Encrypt εκδίδει wildcard πιστοποιητικά μόνο μέσω ελέγχου στο DNS. - Τυπογραφικά λάθη. Με ένα wildcard λειτουργεί επίσης το
ww.example.comή τοwwww.example.com. Αυτό μπορεί να είναι χρήσιμο, αλλά σημαίνει επίσης ότι κάθε πιθανό όνομα δίνει απάντηση. Ορισμένοι διαχειριστές δεν το θέλουν αυτό.
Στην πράξη: έτσι μοιάζει σε ένα πάνελ
Ως παράδειγμα χρησιμοποιούμε το DirectAdmin. Άλλα πάνελ (cPanel, Plesk) έχουν μια παρόμοια οθόνη για subdomains.
- Ανοίξτε το Subdomain Management και κάντε κλικ στο Add Subdomain.
- Πληκτρολογήστε μόνο το πρώτο τμήμα, για παράδειγμα
shop. - Επιλέξτε τον φάκελο για τα αρχεία, ή αφήστε την προεπιλογή.
- Αποθηκεύστε.
Αν θέλετε το subdomain να δείχνει σε μια εξωτερική υπηρεσία, παραλείψτε αυτήν την οθόνη και δημιουργήστε μόνο μια εγγραφή στο DNS Administration (μάθημα 3.1 ή 3.2).
Σύνοψη
- Ένα subdomain δημιουργείται με τη δημιουργία μιας εγγραφής για αυτό: δεν χρειάζεται καταχώριση.
- Μόνο μια εγγραφή DNS αρκεί όταν μια εξωτερική υπηρεσία παρέχει τον ιστότοπο. Ένα subdomain στο πάνελ φιλοξενίας χρειάζεται όταν ο ιστότοπος φιλοξενείται στη δική σας φιλοξενία.
- Ένα wildcard
*.example.comαπαντά σε όλα τα ονόματα που δεν υπάρχουν αλλού. - Ένα υπάρχον όνομα υπερισχύει πάντα του wildcard: το wildcard δεν ισχύει για το βασικό domain (apex) ούτε κάτω από ένα όνομα που υπάρχει.
- Μια εγγραφή wildcard δεν είναι το ίδιο με ένα wildcard πιστοποιητικό.
Κουίζ
Άσκηση
Άσκηση Z3.3: Ανακαλύψτε ένα wildcard. Διαπιστώστε αν το github.io χρησιμοποιεί wildcard. Αναζητήστε την εγγραφή A ενός ονόματος που σχεδόν σίγουρα δεν υπάρχει ξεχωριστά, όπως το dnscursus- ακολουθούμενο από μερικά τυχαία γράμματα .github.io. Αν λάβετε μια διεύθυνση IP ως απάντηση, συμπληρώστε ναι και τη διεύθυνση που λάβατε.
Άσκηση O3.3: Ρυθμίστε το μόνοι σας στη ζώνη εξάσκησης. Δημιουργήστε στη ζώνη εξάσκησής σας:
- μια εγγραφή wildcard
*(τύπου A) με την τιμή192.0.2.20 - μια εγγραφή A
vastμε την τιμή192.0.2.21
Το πρόγραμμα ελέγχει κατόπιν τρία ονόματα: ένα τυχαίο όνομα (που πρέπει να δώσει το αποτέλεσμα του wildcard), το vast (που πρέπει να δώσει τη δική του διεύθυνση) και το βασικό domain (apex) της ζώνης εξάσκησης.
Άσκηση O3.3
Αυτή την άσκηση την κάνετε στη δική σας ζώνη εξάσκησης: μια πραγματική ζώνη DNS στους nameservers του WebOké, μόνο για εσάς. Εγγραφείτε με το email σας. Θα λάβετε έναν σύνδεσμο σύνδεσης μέσω email και θα επιστρέψετε στη συνέχεια σε αυτό το μάθημα. Χρησιμοποιούμε τη διεύθυνσή σας μόνο για το μάθημα.
Περαιτέρω ανάγνωση
Αυτά τα άρθρα περιγράφουν τα βήματα στα πάνελ του WebOké. Σε άλλα πάνελ λειτουργούν με παρόμοιο τρόπο.
