Certificati Let's Encrypt con Nginx — Configurare HTTPS Sicuro senza Canoni a Vita
> cd .. / HUB_EDITORIALE > Visualizza in Inglese
Sicurezza Informatica

Certificati Let's Encrypt con Nginx — Configurare HTTPS Sicuro senza Canoni a Vita

[2026-07-16] Author: Ing. Calogero Bono
> condividi
Zenithby Meteora Web Il sistema operativo della tua attività. Social, clienti, prenotazioni e fatture in un'unica piattaforma. Palestre, barber, professionisti. Scopri Zenith Demo gratis · senza carta

Se gestisci un sito web con Nginx, probabilmente hai già sentito parlare di Let's Encrypt. Magari hai anche un certificato installato, ma non sei sicuro che la configurazione sia corretta. Oppure stai ancora pagando decine o centinaia di euro l'anno per un certificato SSL, quando una soluzione gratuita e automatable esiste già dal 2016. Noi di Meteora Web lo vediamo tutti i giorni: PMI che spendono soldi per certificati che potrebbero avere gratis, oppure — peggio — siti ancora in chiaro HTTP che perdono visitatori e fiducia.

Questa guida non è un manuale astratto. È quello che facciamo sui server dei nostri clienti: ottenere certificati Let's Encrypt, configurarli su Nginx, automatizzare il rinnovo e blindare la sicurezza. Partiamo dal problema concreto: un sito senza HTTPS oggi è penalizzato sui motori di ricerca, considerato insicuro dai browser e vulnerabile a intercettazioni. E la soluzione non costa nulla se non un po' di competenze tecniche.

Perché HTTPS non è più un optional per le PMI?

Google penalizza i siti HTTP. I browser mostrano avvisi di sicurezza. I dati in chiaro possono essere letti da chiunque sulla rete. Se hai un e-commerce o un modulo di contatto, stai esponendo i tuoi clienti e la tua azienda. Noi, di Meteora Web, partiamo sempre da qui: la sicurezza nelle PMI italiane è sistematicamente sottovalutata. HTTPS è il primo mattone.

Sponsored Protocol

Un certificato SSL (o meglio TLS) crittografa la connessione tra il browser e il server. Senza, chiunque sulla stessa rete (cliente, provider, attaccante) può leggere password, carte di credito, messaggi. Con Let's Encrypt, ottieni un certificato valido 90 giorni, rinnovabile automaticamente. Zero canoni a vita, zero scuse.

Come funziona Let's Encrypt rispetto ai certificati a pagamento?

Let's Encrypt è un'autorità di certificazione (CA) gratuita, automatica e aperta. Usa il protocollo ACME per verificare che tu controlli il dominio. I certificati a pagamento offrono garanzie aggiuntive (EV, OV) e validità più lunga, ma per il 99% dei siti web (ecommerce, vetrine, blog) un certificato DV (Domain Validation) di Let's Encrypt è più che sufficiente. La differenza? Zero euro e totale automazione.

Sponsored Protocol

Quando su un server si è rotto il rinnovo automatico dei certificati SSL, l'abbiamo risolto e automatizzato senza far andare offline il cliente. È un problema comune: la configurazione di default di certbot funziona, ma va testata e monitorata.

Quali passaggi seguire per ottenere e installare un certificato Let's Encrypt su Nginx?

Ecco i comandi reali che usiamo noi. Presupponiamo: server Ubuntu/Debian, Nginx già installato, dominio configurato e punti al server.

Installare Certbot e il plugin Nginx

sudo apt update
sudo apt install certbot python3-certbot-nginx -y

Ottenere il certificato

sudo certbot --nginx -d tuo-dominio.it -d www.tuo-dominio.it

Certbot modifica automaticamente i file di configurazione di Nginx per abilitare HTTPS e reindirizzare HTTP. Se preferisci manuale, usa la modalità standalone:

sudo certbot certonly --nginx -d tuo-dominio.it -d www.tuo-dominio.it

I certificati vengono salvati in /etc/letsencrypt/live/tuo-dominio.it/.

Verifica la configurazione di Nginx

sudo nginx -t
sudo systemctl reload nginx

Apri il tuo sito con https:// e controlla il lucchetto.

Sponsored Protocol

Come configurare Nginx per HTTPS e forzare il reindirizzamento?

Se Certbot ha già modificato i file, hai già tutto. Ma vediamo un esempio di server block pulito:

server {
    listen 80;
    server_name tuo-dominio.it www.tuo-dominio.it;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name tuo-dominio.it www.tuo-dominio.it;

    ssl_certificate /etc/letsencrypt/live/tuo-dominio.it/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/tuo-dominio.it/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/tuo-dominio.it/chain.pem;

    root /var/www/tuo-dominio.it/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    # Resto della configurazione (PHP, static assets, etc.)
}

Attenzione: il reindirizzamento 301 da HTTP a HTTPS è fondamentale per SEO. Non dimenticare di aggiornare anche le risorse miste (mixed content) — immagini, script, CSS caricati via HTTP.

Sponsored Protocol

Come automatizzare il rinnovo senza rischiare downtime?

Certbot installa di default un timer systemd. Puoi verificarlo con:

sudo systemctl list-timers | grep certbot
sudo systemctl status certbot.timer

Se non presente, aggiungi un cron job:

sudo crontab -e

Aggiungi la riga:

0 3 * * * /usr/bin/certbot renew --quiet && /usr/bin/systemctl reload nginx

Il rinnovo avviene automaticamente ogni 90 giorni. Il server non si ferma mai. Noi testiamo sempre il rinnovo con certbot renew --dry-run per sicurezza.

Quali header di sicurezza aggiungere dopo HTTPS?

HTTPS da solo non basta. Devi configurare gli header di sicurezza per proteggerti da attacchi comuni. Aggiungi nel server block:

# HSTS - forzare HTTPS
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;

# Proteggere da clickjacking
add_header X-Frame-Options "SAMEORIGIN" always;

# Prevenire MIME-type sniffing
add_header X-Content-Type-Options "nosniff" always;

# Protezione XSS
add_header X-XSS-Protection "1; mode=block" always;

# Referrer policy
add_header Referrer-Policy "strict-origin-when-cross-origin" always;

# Content Security Policy (da personalizzare)
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline';" always;

Ricarica Nginx e testa con SSL Labs per ottenere una valutazione A+.

Sponsored Protocol

Cosa fare adesso

  1. Controlla subito il tuo sito: visita la versione HTTP e vedi se reindirizza a HTTPS. Se non lo fa, segui i passaggi sopra.
  2. Verifica il certificato: apri il lucchetto nel browser e controlla la data di scadenza. Se è prossima, esegui certbot renew.
  3. Testa il rinnovo automatico: sudo certbot renew --dry-run. Se fallisce, risolvi subito.
  4. Applica gli header di sicurezza: usa un tool online per verificare le risposte HTTP.
  5. Leggi la nostra guida pillar sulla sicurezza web: Sicurezza Web per Sviluppatori — La Guida Pillar Definitiva.

HTTPS non è più un lusso. È un requisito. Noi di Meteora Web lo configuriamo ogni giorno per i nostri clienti, dal dominio al fatturato. Se hai bisogno di supporto, parliamone.

> condividi
Ing. Calogero Bono

> AUTHOR_EXTRACTED

Ing. Calogero Bono

Ingegnere informatico, fondatore di Meteora Web e Zenith OS. System administrator e progettista di piattaforme, app e CMS proprietari, con esperienza in sviluppo full-stack, marketing digitale ed ecosistema Google.
[ Read Full Dossier ]

> METEORA_WEB // WEB AGENCY

Costruiamo la presenza digitale che la tua azienda merita.

Siti web, social, pubblicità online, e-commerce e hosting performante: ingegnerizzati con metodo da ingegneri informatici a Sciacca, per tutta Italia.

> MW_JOURNAL

> READ_ALL()