Τι είναι το HTTPS και το SSL; Πώς λειτουργούν τα ασφαλή sites, εξηγημένα απλά
Το HTTPS είναι η ασφαλής έκδοση του HTTP, του πρωτοκόλλου που χρησιμοποιούν οι browsers για να μιλούν με τα sites. Τυλίγει κάθε αίτημα και κάθε απάντηση σε μια κρυπτογραφημένη σύνδεση με TLS (Transport Layer Security), ώστε κανείς ανάμεσα στον επισκέπτη και στο site να μην μπορεί να διαβάσει ή να αλλοιώσει όσα στέλνονται. Το SSL είναι το παλιότερο όνομα της ίδιας ιδέας — το αρχικό πρωτόκολλο που αντικατέστησε το TLS — και γι' αυτό οι άνθρωποι εξακολουθούν να λένε «πιστοποιητικό SSL».
Γιατί έχει σημασία το HTTPS όταν χτίζεις με AI
Κάθε εφαρμογή που δημοσιεύεις πρέπει να σερβίρεται μέσω HTTPS. Και αυτό δεν είναι απλώς καλή πρακτική:
- Οι browsers το περιμένουν. Τα sites σε απλό HTTP χαρακτηρίζονται «Not secure», και ορισμένες λειτουργίες του browser — όπως πρόσβαση στην τοποθεσία, κάμερα και μικρόφωνο, και service workers για offline εφαρμογές — γενικά λειτουργούν μόνο σε ασφαλείς σελίδες (HTTPS).
- Συνδέσεις και φόρμες. Χωρίς HTTPS, οι κωδικοί, τα cookies συνεδρίας και τα δεδομένα των φορμών ταξιδεύουν σε αναγνώσιμο κείμενο. Όποιος βρίσκεται στο ίδιο Wi-Fi του καφέ θα μπορούσε να τα υποκλέψει.
- Πληρωμές και τρίτοι. Οι πάροχοι πληρωμών, η σύνδεση μέσω OAuth και πολλά APIs απαιτούν διευθύνσεις ανακατεύθυνσης και callback με HTTPS.
- Εμπιστοσύνη και αναζήτηση. Οι επισκέπτες προσέχουν την προειδοποίηση, και η Google έχει δηλώσει ότι αντιμετωπίζει το HTTPS ως σήμα κατάταξης.
Τα καλά νέα: στις περισσότερες σύγχρονες πλατφόρμες φιλοξενίας, το HTTPS ρυθμίζεται αυτόματα. Αυτό που χρειάζεσαι κυρίως είναι να καταλαβαίνεις τα κομμάτια αρκετά καλά ώστε να το διορθώσεις όταν πάει στραβά ένα προσαρμοσμένο domain ή μια προειδοποίηση μικτού περιεχομένου.
Μια καθημερινή αναλογία
Η αποστολή δεδομένων με απλό HTTP μοιάζει με αποστολή καρτ-ποστάλ: κάθε ταχυδρομικός που το χειρίζεται μπορεί να το διαβάσει, και κάποιος θα μπορούσε ακόμα και να αλλάξει το μήνυμα.
Το HTTPS μοιάζει με αποστολή σφραγισμένου φακέλου που δείχνει αν έχει ανοιχτεί, και πρώτα έλεγχο της επίσημης ταυτότητας του παραλήπτη. Το πιστοποιητικό είναι αυτή η ταυτότητα, που εκδίδεται από αξιόπιστη αρχή (την αρχή πιστοποίησης), η οποία έχει ελέγξει ότι το site πραγματικά ελέγχει το domain. Η κρυπτογράφηση είναι ο σφραγισμένος φάκελος. Η ταυτότητα αποδεικνύει ότι γράφεις στη σωστή διεύθυνση· ο φάκελος κρατά το περιεχόμενο ιδιωτικό.
Πώς λειτουργεί το HTTPS, απλά
Όταν ένας browser ανοίγει το https://shop.example.com:
- Γεια. Ο browser συνδέεται και δηλώνει ποιες μεθόδους κρυπτογράφησης υποστηρίζει.
- Πιστοποιητικό. Ο server στέλνει το πιστοποιητικό του, το οποίο δηλώνει ότι «αυτό το κλειδί ανήκει στο
shop.example.com» και είναι υπογεγραμμένο από αρχή πιστοποίησης. - Έλεγχος. Ο browser επαληθεύει την υπογραφή με βάση τις αρχές που ήδη εμπιστεύεται, ελέγχει ότι το πιστοποιητικό δεν έχει λήξει και ότι το domain ταιριάζει.
- Κλειδιά. Browser και server συμφωνούν σε ένα νέο μυστικό κλειδί για τη συνεδρία, χωρίς ποτέ να το στείλουν στο φανερό.
- Κρυπτογραφημένη συνομιλία. Όλα τα αιτήματα και οι απαντήσεις — σελίδες, δεδομένα φορμών, cookies — ταξιδεύουν πλέον κρυπτογραφημένα.
Αυτή η χειραψία TLS διαρκεί μερικά χιλιοστά του δευτερολέπτου και γίνεται αυτόματα. Ο επισκέπτης βλέπει απλώς το εικονίδιο του λουκέτου (ή, σε ορισμένους browsers, ένα ουδέτερο εικονίδιο πληροφοριών του site).
Τι προστατεύει και τι δεν προστατεύει το HTTPS
| Προστατεύει | Δεν προστατεύει |
|---|---|
| Τα δεδομένα που μεταφέρονται μεταξύ browser και server | Τα δεδομένα αφού φτάσουν στον server ή στη βάση σου |
| Από υποκλοπή σε δημόσιο Wi-Fi | Από κακόβουλο ή site απάτης |
| Από αλλοίωση των σελίδων καθ' οδόν | Από σφάλματα της εφαρμογής σου, όπως έλλειψη ελέγχων δικαιωμάτων |
| Τα cookies και οι κωδικοί όσο στέλνονται | Από αδύναμους κωδικούς ή διαρρεύσαντα κλειδιά API |
Το HTTPS κρυπτογραφεί το περιεχόμενο των αιτημάτων, συμπεριλαμβανομένης της διαδρομής της σελίδας και της συμβολοσειράς query. Το όνομα domain που επισκέπτεσαι εξακολουθεί όμως συνήθως να φαίνεται στα δίκτυα που περνά η κίνηση. Γι' αυτό τον λόγο δεν πρέπει ποτέ να βάζεις προσωπικά δεδομένα σε URLs — καταλήγουν επίσης στα logs και στο ιστορικό του browser.
Ένα παράδειγμα βήμα προς βήμα: σύνδεση προσαρμοσμένου domain
Υποθέτουμε ότι δημοσιεύεις μια εφαρμογή κρατήσεων και θέλεις να βρίσκεται στο book.myyogastudio.com:
- Προσθέτεις μια εγγραφή DNS που δείχνει το
book.myyogastudio.comστον πάροχο φιλοξενίας. Δες πώς λειτουργούν τα domains και το DNS. - Ο πάροχος αποδεικνύει σε αρχή πιστοποίησης ότι ελέγχει αυτό το όνομα — συνήθως απαντώντας σε μια πρόκληση στο συγκεκριμένο domain — και λαμβάνει πιστοποιητικό.
- Ο πάροχος εγκαθιστά το πιστοποιητικό και το ανανεώνει αυτόματα πριν λήξει. Τα πιστοποιητικά έχουν σκόπιμα μικρή διάρκεια, οπότε η αυτόματη ανανέωση έχει σημασία.
- Οι επισκέπτες που μπαίνουν στο
http://book.myyogastudio.comανακατευθύνονται στοhttps://.
Αν το βήμα 1 είναι λάθος — η εγγραφή δείχνει αλλού, ή υπάρχει ενδιάμεσος proxy — το βήμα 2 μπορεί να αποτύχει και οι επισκέπτες βλέπουν σφάλμα πιστοποιητικού. Αυτό είναι το πιο συνηθισμένο πρόβλημα HTTPS που συναντούν όσοι συνδέουν προσαρμοσμένο domain.
Βασικοί όροι
| Όρος | Σημασία |
|---|---|
| TLS | Transport Layer Security, το πρωτόκολλο κρυπτογράφησης πίσω από το HTTPS. |
| SSL | Secure Sockets Layer, ο ξεπερασμένος πρόγονος του TLS. Το όνομα επιζεί. |
| Πιστοποιητικό | Υπογεγραμμένο αρχείο που συνδέει ένα domain με ένα δημόσιο κλειδί. |
| Αρχή πιστοποίησης (CA) | Οργανισμός που εμπιστεύονται οι browsers για την έκδοση πιστοποιητικών, όπως το Let's Encrypt. |
| Επικύρωση domain (DV) | Πιστοποιητικό που αποδεικνύει τον έλεγχο του domain — αυτό που χρησιμοποιούν σχεδόν όλα τα sites. |
| Wildcard πιστοποιητικό | Καλύπτει όλα τα υποτομέων ενός επιπέδου, όπως *.example.com. |
| Μικτό περιεχόμενο | Σελίδα HTTPS που φορτώνει ορισμένους πόρους μέσω απλού HTTP. Οι browsers τα μπλοκάρουν ή προειδοποιούν. |
| HSTS | Κεφαλίδα που λέει στους browsers να χρησιμοποιούν πάντα HTTPS για το site σου από εκείνη τη στιγμή και μετά. |
| Port 443 | Η τυπική θύρα για HTTPS (το HTTP χρησιμοποιεί τη θύρα 80). |
Συνηθισμένες παρανοήσεις
- «Το λουκέτο σημαίνει ότι το site είναι αξιόπιστο». Σημαίνει ότι η σύνδεση είναι ιδιωτική και ότι το domain ταιριάζει. Και οι απατεώνες παίρνουν πιστοποιητικά.
- «Το HTTPS χρειάζεται μόνο στις σελίδες πληρωμής». Κάθε σελίδα με σύνδεση, φόρμα ή cookie το χρειάζεται — και αυτό ισχύει για σχεδόν κάθε εφαρμογή. Χρησιμοποίησέ το παντού.
- «Τα πιστοποιητικά είναι ακριβά». Τα δωρεάν, αξιόπιστα πιστοποιητικά είναι τυπικά, και οι περισσότεροι πάροχοι τα διαχειρίζονται για σένα.
- «Το HTTPS κάνει την εφαρμογή μου ασφαλή». Ασφαλίζει τη σύνδεση. Η εφαρμογή σου εξακολουθεί να χρειάζεται ελέγχους δικαιωμάτων στον server, ασφαλή διαχείριση μυστικών και επικύρωση εισόδου. Δες τη λίστα ελέγχου ασφαλείας για εφαρμογές με AI.
- «Το HTTPS κάνει τα sites αργά». Το σύγχρονο TLS προσθέτει ελάχιστο φορτίο, και λειτουργίες όπως το HTTP/2, που κάνουν τα sites γρηγορότερα, γενικά απαιτούν HTTPS στους browsers.
Διόρθωση συνηθισμένων προβλημάτων HTTPS
| Σύμπτωμα | Πιθανή αιτία |
|---|---|
| «Η σύνδεσή σας δεν είναι ιδιωτική» | Το πιστοποιητικό δεν καλύπτει αυτό ακριβώς το domain, έχει λήξει ή δεν έχει εκδοθεί ακόμα |
Λειτουργεί στο www. αλλά όχι στο κύριο domain (ή αντίστροφα) | Μόνο το ένα όνομα έχει DNS και πιστοποιητικό |
| Λείπει το λουκέτο, «Not secure» σε ορισμένες σελίδες | Μικτό περιεχόμενο: μια εικόνα, script ή γραμματοσειρά φορτώνεται μέσω http:// |
| Σφάλμα πιστοποιητικού αμέσως μετά τη σύνδεση domain | Το DNS διαδίδεται ακόμα, ή ένα proxy μπροστά μπλοκάρει τον έλεγχο του πιστοποιητικού |
Τι να ζητήσεις από το εργαλείο δημιουργίας με AI
- «Βεβαιώσου ότι κάθε εικόνα, script και γραμματοσειρά φορτώνεται μέσω HTTPS ή με σχετικό URL — χωρίς συνδέσμους
http://.» - «Ανακατεύθυνε όλη την κίνηση HTTP σε HTTPS.»
- «Όρισε τα cookies συνεδρίας με τις σημαίες
SecureκαιHttpOnly.» - «Χρησιμοποίησε
https://για κάθε callback URL του OAuth, των πληρωμών και των webhooks.» - «Το προσαρμοσμένο domain μου δείχνει σφάλμα πιστοποιητικού — ποια εγγραφή DNS περιμένει ο πάροχος;»
HTTPS στο Mythex
Όταν συνδέεις προσαρμοσμένο domain στο Mythex (λειτουργία του Pro), προσθέτεις μια εγγραφή CNAME που δείχνει στον στόχο slug.mythex.ai που σου εμφανίζει το Mythex, πατάς Verify, και το Mythex εκδίδει αυτόματα HTTPS για το domain. Η τεκμηρίωση καλύπτει τα δύο πιο συνηθισμένα εμπόδια: αν το DNS σου βρίσκεται στο Cloudflare, ορίστε την εγγραφή σε «DNS only» (γκρι σύννεφο) αντί για proxied, ώστε το Mythex να μπορεί να εκδώσει το πιστοποιητικό· και το DNS μπορεί να επαληθευτεί πριν το HTTPS ρυθμιστεί πλήρως, οπότε περίμενε λίγα λεπτά και επαλήθευσε ξανά. Δες τα προσαρμοσμένα domains στην τεκμηρίωση και τον οδηγό μας για τη σύνδεση προσαρμοσμένου domain.
Ερωτήσεις
Ποια είναι η διαφορά ανάμεσα στο HTTP και το HTTPS;
Το HTTP στέλνει δεδομένα μεταξύ browser και site ως αναγνώσιμο κείμενο. Το HTTPS είναι το HTTP που στέλνεται μέσα από κρυπτογραφημένη σύνδεση TLS, οπότε όσοι βρίσκονται στο ίδιο δίκτυο ή κατά μήκος της διαδρομής δεν μπορούν να διαβάσουν ή να αλλάξουν όσα στέλνονται, και ο browser μπορεί να ελέγξει ότι μιλά με το πραγματικό site.
Είναι το SSL και το TLS το ίδιο πράγμα;
Το TLS είναι ο σύγχρονος διάδοχος του SSL. Όλες οι εκδόσεις του SSL είναι ξεπερασμένες και μη ασφαλείς, και τα σημερινά ασφαλή sites χρησιμοποιούν TLS. Οι άνθρωποι εξακολουθούν να λένε «πιστοποιητικό SSL» από συνήθεια, αλλά τα πιστοποιητικά χρησιμοποιούνται με TLS.
Σημαίνει το λουκέτο ότι ένα site είναι ασφαλές;
Όχι. Το λουκέτο σημαίνει ότι η σύνδεση είναι κρυπτογραφημένη και ότι το πιστοποιητικό ταιριάζει στο domain. Ένα site απάτης μπορεί επίσης να έχει έγκυρο πιστοποιητικό. Σημαίνει ότι κανείς δεν μπορεί να παρακολουθεί τη σύνδεση, όχι ότι ο ιδιοκτήτης του site είναι αξιόπιστος.
Πρέπει να πληρώσω για πιστοποιητικό SSL;
Συνήθως όχι. Δωρεάν, αυτοματοποιημένες αρχές πιστοποίησης, όπως το Let's Encrypt, εκδίδουν πιστοποιητικά που εμπιστεύονται οι browsers, και οι περισσότερες πλατφόρμες φιλοξενίας τα αποκτούν και τα ανανεώνουν για σένα. Τα επί πληρωμή πιστοποιητικά προσθέτουν κυρίως υποστήριξη ή επιπλέον έλεγχους ταυτότητας.
Γιατί το site μου λέει Not Secure;
Συνηθισμένες αιτίες είναι το άνοιγμα του site με http:// αντί για https://, ένα πιστοποιητικό που έχει λήξει ή δεν καλύπτει ακριβώς αυτό το domain, ή μια σελίδα που φορτώνει εικόνες ή scripts με απλό http:// (μικτό περιεχόμενο).