Αν οι περισσότεροι από τους επισκέπτες σας προέρχονται από την Google (οργανικά) ή από κοινωνικά δίκτυα, πιθανότατα επισκέπτονται απευθείας την έκδοση HTTPS.
Τι γίνεται όμως αν υπάρχουν επισκέπτες που επισκέπτονται απευθείας τον ιστότοπό σας;
Στην περίπτωσή μου, συνήθως πληκτρολογώ “igu”, ο browser μου προτείνει το “iguru.gr” και πατάω enter.
Το πρόγραμμα περιήγησης από προεπιλογή στέλνει το αίτημα στο “http://iguru.gr” και αργότερα to ανακατευθύνει στο “http://iguru.gr”.
Table of Contents
Γιατί η ανακατεύθυνση από HTTP σε HTTPS είναι αργή;
Εάν έχετε ρυθμίσει το https στις ρυθμίσεις του WordPress, τότε το WP θα φροντίσει για την ανακατεύθυνση. Αυτό θα το κάνει από την PHP. Ανάλογα όμως με τον πάροχο φιλοξενίας και την ταχύτητα του server, η ανακατεύθυνση μέσω PHP μπορεί να είναι αργή. Έτσι είναι καλύτερα να την αποσυνδέσετε από την PHP.
Ας δούμε τι μπορούμε να κάνουμε.
Ρύθμιση του Web Server για ανακατεύθυνση σε HTTPS
Η ρύθμιση ενός Web Server όπως το Nginx/Apache/LiteSpeed για το redirect θα το κάνει πάντα ταχύτερα από την PHP.
Apache/LiteSpeed
Εάν διαθέτετε Web Server Apache ή LiteSpeed, προσθέστε τον παρακάτω κώδικα κώδικα στο αρχείο .htaccess:
<IfModule mod_headers.c> Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" </IfModule>
Nginx
Στο Nginx, προσθέστε την παρακάτω ρύθμιση:
server { listen 443 ssl; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; }
Cloudflare
Αν χρησιμοποιείτε το Cloudflare, τα πράγματα είναι πολύ εύκολα. Από τις ρυθμίσεις SSL/TLS – Edge Certificates ενεργοποιήστε την επιλογή “Always Use HTTPS”.
Προαιρετικά, ενεργοποιήστε την επιλογή “Automatic HTTPS Rewrites”.
Ή μπορείτε επίσης να προσθέσετε ένα meta tag για να πείτε στο πρόγραμμα περιήγησης να χρησιμοποιεί HTTPS για όλα τα αιτήματα μέσα σε μια σελίδα.
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
Ενεργοποίηση HSTS
Το HSTS ή HTTP Strict Transport Security είναι ένα response header.
Με απλά λόγια, λέει στο πρόγραμμα περιήγησης “αυτός ο ιστότοπος θα έχει HTTPS για τόσες ημέρες, οπότε χρησιμοποιήστε το HTTPS σαν προεπιλογή”.
Έτσι την επόμενη φορά που κάποιος εισέλθει στο “iguru.gr” ή to “http://iguru.gr”, το πρόγραμμα περιήγησης θα ανοίξει απευθείας το “http://iguru.gr”.
Apache/LiteSpeed
Προσθέστε τον παρακάτω κώδικα στο αρχείο .htaccess:
<IfModule mod_headers.c> Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" </IfModule>
Nginx
Στο Nginx, προσθέστε την παρακάτω ρύθμιση:
server { listen 443 ssl; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; }
Cloudflare
Από τις ρυθμίσεις SSL/TLS – Edge Certificates ενεργοποιήστε την επιλογή HTTP Strict Transport Security (HSTS)
Δώστε τις παρακάτω ρυθμίσεις:
Επαληθεύστε το HSTS
Μπορείτε να ελέγξετε αν λειτουργεί ή όχι ελέγχοντας το response header:
Μπορείτε επίσης να επισκεφθείτε την σελίδα https://hstspreload.org/ για να ελέγξετε το ίδιο.
Υποβολή στη λίστα HSTS του Chrome
Ακόμα κι αν έχετε ενεργοποιήσει το HSTS, ο χρήστης που επισκέπτεται τον ιστότοπό σας για πρώτη φορά θα έχει μια ανακατεύθυνση από HTTP σε HTTPS.
Όμως, ο Chrome διατηρεί μια λίστα ιστότοπων με δυνατότητα HSTS hardcoded στο πρόγραμμα περιήγησης (και άλλα προγράμματα περιήγησης χρησιμοποιούν την ίδια λίστα). Επομένως, εάν ο ιστότοπός σας προστεθεί σε αυτήν τη λίστα, δεν χρειάζεται πλέον ανακατεύθυνση!
Από τη διεύθυνση https://hstspreload.org/ υποβάλετε το domain σας.
και
Μετά κάντε click στο Submit και περιμένετε μέχρι να το προσθέσουν στην hardcoded λίστα του Chrome.
Είστε έτοιμοι!