Πώς να εγκαταστήσετε πιστοποιητικό ασφαλείας (Let’s encrypt) στο site σας

How to https

Όπως έχουμε αναφέρει και σε προηγούμενες ανακοινώσεις μας (1, 2), η χρήση πιστοποιητικών ασφαλείας στα website, κρίνεται απαραίτητη πλέον μιας και οι web browsers έχουν αρχίσει να εμφανίζουν προειδοποιήσεις για τα website που δεν έχουν πιστοποιητικό και δεν χρησιμοποιούν ασφαλείς συνδέσεις. Όλα τα νέα hosting στην Πρίζα έχουν αυτόματα πλέον ασφαλείς συνδέσεις, ενώ όσοι έχουν ήδη ιστοσελίδες που φιλοξενούνται σε server της Πρίζας, μπορούν να ενεργοποιήσουν με τις παρακάτω οδηγίες την χρήση πιστοποιητικού στο site τους :

* Οι οδηγίες απευθύνονται σε χρήστες που έχουν κάποια εμπειρία και γνωρίζουν τι να κάνουν. Σε διαφορετική περίπτωση, συνιστούμε να επικοινωνήσετε μαζί μας, ώστε να αναλάβουμε εμείς την εγκατάσταση του πιστοποιητικού.

– Κάνουμε login στο Control Panel (Webmin) από εδώ με τα στοιχεία πρόσβασης που έχουμε.

– Αρχικά πηγαίνουμε στο Edit Virtual Server και ενεργοποιούμε από τα Enabled Features το SSL website enabled.

–  Αν όλα πάνε καλά εκεί, πηγαίνουμε στο Server Configuration -> Manage SSL Certificate -> Lets Encrypt και στο domains listed here γράφουμε μέσα στο κουτί :

domain
www.domain

Όπου $domain είναι το domain μας. Για παράδειγμα, αν κάναμε την αλλαγή στο stinpriza.org, θα γράφαμε:
stinpriza.org
www.stinpriza.org

Έπειτα, στο Months between automatic renewal επιλέγουμε την επιλογή με το κενό κουτάκι και εκεί μέσα γράφουμε : 2 (ανανεωση ανά 2 μηνες δηλαδή).
Πατάμε το Request Certificate απο κάτω και περιμένουμε να τελειώσει επιτυχώς. Αν όχι, σταματάμε και τσεκάρουμε το λάθος.

– Τώρα ελέγχουμε ότι δουλεύει το πιστοποιητικό (= ανοίγει η σελίδα μας από https://). Αν ανοίγει απευθείας χωρίς προειδοποιήσεις, σημαίνει ότι η εγκατάσταση του πιστοποιητικού πήγε καλά. Αν έχουμε πορτοκαλί σήμα στο browser, αυτό σημαίνει mixed-content και πρέπει να κάνουμε εσωτερικές αλλαγές στη σελίδα (δείτε παρακάτω).

– Πλέον μένει να ανακατευθύνουμε όλες τις συνδέσεις στη σελίδα μας, από http σε https. Από το control panel -> Services -> Configure Website -> Edit Directives, μας ανοίγει το αρχείο του web server για τη σελίδα μας. Εκεί βρίσκουμε ένα κομμάτι με Rewrite…. εκεί από κάτω προσθέτουμε τις παρακάτω 2 γραμμές, αλλάζοντας το domain με το domain της σελίδας μας.

RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://domain/$1 [R,L]

– Τέλος, ανοιγουμε το σαιτ και διάφορες σελίδες του για να δούμε οτι δε βγαίνει error πουθενά.

Mixed content

Στα υπάρχοντα σαιτ πολλά links/posts/media είναι με υφιστάμενα http:// links περασμένα (εσωτερικά ή εξωτερικά), και γι’ αυτό οι browsers βγάζουν πορτοκαλί προειδοποίηση για mixed-content (https+http μαζί). αυτά πρέπει να φτιαχτούν ώστε να παίζουν σωστά, δηλαδή μόνο από https.
Αν κάτι που είναι σε μας (στο domain μας) χτυπάει, ελέγχουμε αν παίζει με https και το αλλάζουμε. Μπορεί να είναι κάποιο εσωτερικό link στο theme, οπότε μέσα από τη σελίδα ή με πρόσβαση ftp μπαίνουμε και αλλάζουμε το link δυναμικά. Αυτό χρειάζεται αρκετό χρόνο.
Για τα WordPress μια εύκολη λύση για τέτοιες δυναμικές αλλαγές είναι με τη χρήση του plugin Better Search Replace. ΠΡΟΣΟΧΗ, πριν από τις αλλαγές να έχουμε ένα backup της βάσης!!!!

Επίσης ελέγχουμε διάφορα Google links (π.χ. http://fonts.googleapis.com και γενικά οτιδήποτε άλλο css/js φορτώνει από googleapis.com) και τα γυρνάμε και αυτά σε https://, αν δεν είναι ήδη.

Aν είναι κάποιος εξωτερικός σύνδεσμος (π.χ. εικόνα) που χτυπάει και δεν έχει https, και επειδή δε μπορούμε να επέμβουμε σε άλλα σαιτ, μπορούμε να κατεβάσουμε την εικόνα στη σελίδα μας και να ενημερώσουμε το σχετικό άρθρο/ποστ ώστε να τη φορτώνει εσωτερικά και όχι από τον εξωτερικό σύνδεσμο.