Abilitare HTTPS sul tuo sito
From Joomla! Documentation
|
Che cos'è SSL/TLS?
Transport Layer Security (TLS) è il successore di Secure Sockets Layer (SSL) - anche se la maggior parte delle persone si riferiscono ancora ad esso come SSL nei post del blog.
Hai mai notato il simbolo del lucchetto accanto all'URL quando navighi in internet (se sei un utente di Chrome?). Ciò significa che tutti i dati che invii a quel sito web vengono inviati in modo criptato, in modo che chiunque possa aver violato la tua rete (o simili) e possa intercettare le tue richieste non sia in grado di visualizzare alcun dato - può solo vedere a quali URL stai accedendo.
Perché utilizzare TLS?
Google (e la maggior parte degli altri motori di ricerca) ora trattano i siti che utilizzano https con preferenza[1]. Inoltre il browser Chrome segnala qualsiasi sito web con un modulo (ad esempio un modulo di login o di contatto) che non utilizza https[2].
Come faccio a impostare TLS?
Per impostare il certificato, il modo più semplice è far sì che sia il vostro ospite a farlo per voi.
Il certificato corretto da acquistare dipende dalle protezioni di sicurezza richieste sul vostro sito web. Se non lo sai allora probabilmente l'opzione più economica e più semplice è quella di utilizzare Let's Encrypt - è gratuito e a seconda del tuo host può essere spesso configurato direttamente dal tuo cpanel o plesk dashboard di hosting.
Se hai acquistato un certificato Dedicated IP e SSL, chiedi semplicemente al tuo host di aiutarti e loro lo faranno firmare e lo installeranno nella posizione corretta per te.
Come faccio a reindirizzare tutto il mio traffico verso https
In Joomla
Il modo più semplice per far rispettare il traffico https è farlo all'interno di Joomla. In Configurazione globale c'è un'opzione "Forza HTTPS" che permette di forzare HTTPS sia nell'area dell'amministratore che per l'intero sito. Quest'ultima opzione la vorrete praticamente sempre.
In .htaccess
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [QSA,R=301,L]
<IfModule !mod_ssl.c>
Redirect permanent / https://www.yourdomainname.com
</IfModule>
Più complesso .htaccess Esempi
Per esempio, per passare da HTTP a HTTPS su qualsiasi pagina che abbia 'abc/def' o 'ghi' nell'URL, aggiungere qualcosa del genere:
Code:
RewriteCond %{HTTPS} off
RewriteRule ^(abc/def|ghi)(.*)/?$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L]
... e per passare da HTTPS a HTTP su qualsiasi pagina che abbia 'home' o 'aiuto' nell'URL, fare qualcosa del genere:
Code:
RewriteCond %{HTTPS} on
RewriteRule ^(home|help)(.*)/?$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L]
Se si vuole forzare SSL su una specifica cartella è possibile inserire il codice sottostante in un file .htaccess posto in quella specifica cartella:
Code:
RewriteEngine On
RewriteCond %{REQUEST_URI} folder
RewriteRule ^(.*)$ https://www.example.com/folder/$1 [R,L]
Assicuratevi di cambiare il riferimento della cartella con il nome effettivo della cartella. Quindi assicuratevi di sostituire www.example.com/folder con il vostro nome di dominio effettivo e la cartella su cui volete forzare l'SSL.