Ενότητα 3 · 3.4
www, ανακατεύθυνση και τι δεν κάνει το DNS
Ενότητα 3: Εγγραφές για τον ιστότοπό σας · Χρόνος ανάγνωσης: 7 λεπτά
Στόχος μαθήματος: Μετά από αυτό το μάθημα θα γνωρίζετε τη διαφορά ανάμεσα στο DNS (πού βρίσκεται ο διακομιστής) και την ανακατεύθυνση (ποια σελίδα λαμβάνετε), και θα μπορείτε να ρυθμίσετε σωστά το www.
Βασικές έννοιες: www, ανακατεύθυνση (redirect, 301/302), domain pointer ή alias, πιστοποιητικό https, μια διαδρομή δεν υπάρχει στο DNS
Τι γνωρίζει και τι δεν γνωρίζει το DNS
Το DNS απαντά σε ένα μόνο είδος ερώτησης: «πού βρίσκεται αυτό το όνομα;» Η απάντηση είναι μια διεύθυνση (A, AAAA) ή ένα άλλο όνομα (CNAME). Μετά από αυτό, το DNS έχει ολοκληρώσει τον ρόλο του. Οτιδήποτε συμβαίνει στη συνέχεια, το ρυθμίζει ο διακομιστής ιστού (webserver) σε αυτή τη διεύθυνση.
Μια διεύθυνση ιστού αποτελείται από περισσότερα στοιχεία από ένα απλό όνομα:
https://www.example.com/contact?taal=nl
└─┬─┘ └──────┬───────┘└───┬──┘└──┬──┘
πρωτόκολλο όνομα διαδρομή παράμετροιΜόνο το μεσαίο τμήμα, το όνομα, φτάνει στο DNS. Το πρωτόκολλο (https), η διαδρομή (/contact) και οι παράμετροι δεν φτάνουν ποτέ στο DNS. Από αυτό προκύπτουν κάποια πράγματα που εκπλήσσουν πολλούς:
- Το DNS δεν μπορεί να κάνει ανακατεύθυνση σε μια σελίδα. Μια εγγραφή όπως «
example.comπροςothersite.example/actie» δεν υπάρχει. - Το DNS δεν επιλέγει ανάμεσα σε http και https. Το αν ένας επισκέπτης καταλήγει σε https, το ρυθμίζει ο διακομιστής ιστού.
- Το DNS δεν γνωρίζει ποιος ιστότοπος βρίσκεται σε έναν διακομιστή. Σε μία διεύθυνση IP μπορούν να λειτουργούν εκατοντάδες ιστότοποι. Ο browser στέλνει το όνομα μαζί με το αίτημά του, και ο διακομιστής ιστού επιλέγει βάσει αυτού τον σωστό ιστότοπο.
Η ανακατεύθυνση γίνεται στον διακομιστή ιστού
Θέλετε το example.com να ανακατευθύνει τους επισκέπτες στο www.example.com, ή ένα δεύτερο domain να οδηγεί στον κύριο ιστότοπό σας; Τότε χρειάζεστε δύο βήματα:
- DNS: κάντε το όνομα να δείχνει σε έναν διακομιστή ιστού που μπορεί να εκτελέσει την ανακατεύθυνση. Αυτό είναι συνήθως το δικό σας hosting, ή μια υπηρεσία ανακατεύθυνσης του καταχωρητή (registrar) σας.
- Διακομιστής ιστού: ρυθμίστε εκεί μια ανακατεύθυνση (redirect). Ο διακομιστής τότε δεν απαντά με μια σελίδα, αλλά με «πηγαίνετε σε αυτή την άλλη διεύθυνση». Ο browser το ακολουθεί αυτόματα.
Μια ανακατεύθυνση έχει έναν κωδικό:
| Κωδικός | Σημαίνει | Χρησιμοποιείται για |
|---|---|---|
| 301 | Μόνιμη μετακίνηση | Μια μόνιμη ανακατεύθυνση, για παράδειγμα από το βασικό όνομα (apex) προς το www. Οι μηχανές αναζήτησης υιοθετούν τη νέα διεύθυνση. |
| 302 (ή 307) | Προσωρινά αλλού | Μια προσωρινή σελίδα ενέργειας ή συντήρηση. |
Ένας domain pointer ή domain alias είναι κάτι διαφορετικό: τότε ο ίδιος ιστότοπος εμφανίζεται με δύο ονόματα, χωρίς να αλλάζει η γραμμή διευθύνσεων. Και αυτό το ρυθμίζει ο πίνακας hosting, όχι το DNS. Το DNS του δεύτερου ονόματος πρέπει απλώς να δείχνει στον ίδιο διακομιστή.
Υπάρχει επίσης το frame forwarding: η γραμμή διευθύνσεων συνεχίζει να εμφανίζει το domain σας ενώ βλέπετε έναν άλλο ιστότοπο. Αυτό συχνά λειτουργεί άσχημα με σύγχρονους ιστότοπους (οι οποίοι αρνούνται να φορτώσουν μέσα σε frame) και οι μηχανές αναζήτησης δεν το προτιμούν. Καλύτερα να μην το χρησιμοποιείτε.
www: ναι ή όχι;
Το www είναι απλώς ένα subdomain. Το αν θα λειτουργεί ο ιστότοπός σας στο www.example.com ή στο example.com, είναι επιλογή σας. Σημαντικό είναι μόνο:
- Και τα δύο πρέπει να λειτουργούν. Οι άνθρωποι πληκτρολογούν άλλοτε το ένα, άλλοτε το άλλο. Αν λείπει εγγραφή για το
www, θα λάβουν μήνυμα σφάλματος ότι ο ιστότοπος δεν υπάρχει. - Επιλέξτε ένα ως κύρια διεύθυνση και κάντε το άλλο να ανακατευθύνει προς αυτό με κωδικό 301. Έτσι μια μηχανή αναζήτησης βλέπει έναν ιστότοπο, όχι δύο αντίγραφα.
Στο DNS αυτό συνήθως μεταφράζεται σε:
example.com. 3600 IN A 192.0.2.10
www.example.com. 3600 IN CNAME example.com.ή μια δική του εγγραφή A για το www με την ίδια διεύθυνση. Ένα wildcard (μάθημα 3.3) μπορεί επίσης να καλύψει το www. Σε μια εξωτερική υπηρεσία, όπως μια πλατφόρμα ηλεκτρονικού καταστήματος, το www συχνά δείχνει με CNAME στην υπηρεσία και το βασικό όνομα με εγγραφή A σε μια διεύθυνση που ορίζει η υπηρεσία (το μάθημα 3.2 εξηγεί γιατί).
Το πιστοποιητικό ανήκει κι αυτό στην εικόνα
Ένας browser εμφανίζει το λουκέτο μόνο αν ο διακομιστής διαθέτει πιστοποιητικό για ακριβώς το όνομα που πληκτρολόγησε ο επισκέπτης. Ένα πιστοποιητικό για το example.com δεν καλύπτει αυτόματα το www.example.com. Φροντίστε λοιπόν το πιστοποιητικό να περιλαμβάνει και τα δύο ονόματα.
Αυτό έχει μια συνέπεια για την ανακατεύθυνση: ένας επισκέπτης που ανοίγει το https://example.com λαμβάνει πρώτα έναν έλεγχο πιστοποιητικού, και μόνο μετά την ανακατεύθυνση. Χωρίς έγκυρο πιστοποιητικό για το βασικό όνομα, θα δει μια προειδοποίηση, ακόμα κι αν τον ανακατευθύνετε σωστά στη συνέχεια. Άρα και το όνομα που απλώς ανακατευθύνει, χρειάζεται πιστοποιητικό.
Δωρεάν πιστοποιητικά όπως αυτά του Let's Encrypt ελέγχουν αν το όνομα πράγματι δείχνει στον δικό σας διακομιστή. Αν το DNS δείχνει ακόμη σε έναν παλιό διακομιστή, το αίτημα δεν θα πετύχει. Πρώτα το DNS, μετά το πιστοποιητικό.
Στην πράξη: έτσι φαίνεται σε έναν πίνακα ελέγχου
Ως παράδειγμα χρησιμοποιούμε το DirectAdmin. Στο cPanel, το Plesk και άλλους πίνακες ελέγχου, το αντίστοιχο στοιχείο ονομάζεται συχνά «Redirects» ή «Ανακατεύθυνση».
- Ανοίξτε το Site Redirects (ανακατεύθυνση).
- Συμπληρώστε τη διαδρομή που πρέπει να ανακατευθυνθεί, για παράδειγμα
/για ολόκληρο τον ιστότοπο. - Επιλέξτε τον τύπο: 301 για μόνιμη ανακατεύθυνση.
- Συμπληρώστε τη διεύθυνση προορισμού, με
https://. - Αποθηκεύστε.
Το DNS του ονόματος πρέπει γι' αυτό να δείχνει στο δικό σας hosting. Αν δείχνει σε άλλη υπηρεσία, ο επισκέπτης δεν θα φτάσει ποτέ σε αυτή την ανακατεύθυνση.
Σύνοψη
- Το DNS δίνει μόνο τη διεύθυνση ενός ονόματος. Τη διαδρομή, το πρωτόκολλο και τις παραμέτρους το DNS δεν τις βλέπει.
- Την ανακατεύθυνση (301, 302) και τους domain pointers τα ρυθμίζει ο διακομιστής ιστού, όχι το DNS.
- Φροντίστε τόσο το βασικό όνομα όσο και το www να έχουν εγγραφή, και επιλέξτε ένα ως κύρια διεύθυνση.
- Ένα πιστοποιητικό πρέπει να καλύπτει κάθε όνομα που μπορεί να πληκτρολογήσει ένας επισκέπτης, ακόμα και το όνομα που απλώς ανακατευθύνει.
- Πρώτα σωστό το DNS, μετά το πιστοποιητικό.
Κουίζ
Άσκηση
Άσκηση Z3.4: www: CNAME ή A; Πώς είναι ρυθμισμένο το www.sidn.nl στο DNS; (Το sidn.nl είναι ο ιστότοπος του SIDN, του μητρώου του .nl στην Ολλανδία.) Αναζητήστε ποια εγγραφή υπάρχει για το www.sidn.nl και συμπληρώστε τον τύπο (A, AAAA ή CNAME) και την τιμή. Συμβουλή: ρωτήστε πρώτα για ένα CNAME.
Σε αυτό το μάθημα δεν υπάρχει άσκηση ρύθμισης στη ζώνη εξάσκησης: η ανακατεύθυνση γίνεται σε έναν διακομιστή ιστού, όχι στο DNS.
Περαιτέρω ανάγνωση
Αυτά τα άρθρα περιγράφουν τα βήματα στους πίνακες ελέγχου του WebOké· σε άλλους πίνακες ελέγχου λειτουργούν με παρόμοιο τρόπο.
- Εγχειρίδιο DirectAdmin 4.7: Ανακατεύθυνση ιστότοπου: προώθηση domain ή σελίδας
- Εγχειρίδιο DirectAdmin 4.4: Domeinpointers: ένα δεύτερο domain name για την ίδια ιστοσελίδα
- Δημιουργία ανακατεύθυνσης σε άλλο domain (λογαριασμός hosting)
- Δημιουργία προώθησης domain/redirect (καταχώρηση domain)
- Εγχειρίδιο DirectAdmin 6.3: Πιστοποιητικό για www, subdomains και wildcard
