La migrazione del vostro sito web all’HTTPS è un passo essenziale sia per la sicurezza che per la fiducia degli utenti. Se il vostro server web basato su Linux consente ancora l’accesso tramite HTTP, state mettendo a rischio i vostri visitatori e i vostri dati. In questa guida spiegheremo come reindirizzare correttamente tutto il traffico da HTTP a HTTPS utilizzando le più comuni configurazioni di server Linux. Sia che si utilizzi Apache o Nginx, il processo è semplice e fondamentale per mantenere un ambiente sicuro e SEO-friendly.

Perché reindirizzare a HTTPS?

Il passaggio a HTTPS (SSL/TLS) garantisce:

  • Comunicazione criptata tra gli utenti e il vostro server
  • Miglioramento del posizionamento SEO (Google favorisce l’HTTPS)
  • Indicatori di fiducia come l’icona del lucchetto nel browser
  • Conformità ai moderni standard web

Una volta installato un certificato SSL, il passo successivo è quello di forzare tutto il traffico attraverso il protocollo sicuro HTTPS.

Apache: Reindirizzare HTTP a HTTPS

Se il vostro server utilizza Apache, ecco come configurare il reindirizzamento.

Passo 1: Abilitare il modulo di riscrittura

Assicuratevi che mod_rewrite sia abilitato:

sudo a2enmod rewrite
sudo systemctl restart apache2

Passo 2: Aggiornare la configurazione dell’host virtuale

Aprite il file di configurazione dell’host virtuale HTTP(port 80):

sudo nano /etc/apache2/sites-available/000-default.conf

Quindi inserire questo all’interno del blocco :

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Salvare e uscire dal file, quindi riavviare Apache:

sudo systemctl restart apache2

Nginx: Reindirizzare HTTP a HTTPS

Se il vostro server utilizza Nginx, il reindirizzamento è gestito nel blocco server del sito.

Passo 1: modificare il file di configurazione di Nginx

sudo nano /etc/nginx/sites-available/default

Passo 2: Aggiungere un blocco di reindirizzamento

Sopra il blocco server esistente per HTTPS, aggiungere questo:

server {
    ascolta 80;
    server_name yourdomain.com www.yourdomain.com;

    return 301 https://$host$request_uri;
}

Sostituire yourdomain.com con il proprio nome di dominio. Quindi eseguire il test e ricaricare:

sudo nginx -t
sudo systemctl reload nginx

Opzionale: Reindirizzare www a non-www (o viceversa)

È anche possibile combinare l’applicazione di HTTPS con la canonicalizzazione del dominio.

Esempio: Reindirizzare www a non-www (con HTTPS) in Nginx:

server {
    ascolta 80;
    nome_server www.yourdomain.com;

    return 301 https://yourdomain.com$request_uri;
}

Test del reindirizzamento

Una volta apportate le modifiche, testarle:

  • Visitare http://yourdomain.com – dovrebbe reindirizzare a https://yourdomain.com.
  • Utilizzare https://www.redirect-checker.org per confermare il corretto reindirizzamento 301.

Note finali

  • Assicurarsi che il certificato SSL sia valido e installato prima di forzare l’HTTPS.
  • Utilizzare sempre i reindirizzamenti 301 (permanenti) per evitare problemi SEO.
  • Utilizzare la logica di reindirizzamento a livello di server web, non tramite PHP o JavaScript.