0Pricing
Linux Server Deployment & SSH Mastery · Lezione

Abilitare HTTPS con Let's Encrypt

Proteggete il vostro web server con certificati TLS gratuiti di Let's Encrypt. Installate Certbot, ottenete e rinnovate automaticamente i certificati e configurate Nginx o Apache per servire il traffico tramite HTTPS con reindirizzamenti HTTP.

Abilitare HTTPS con Let's Encrypt è una lezione Linux Server Deployment & SSH Mastery gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Linux Server Deployment & SSH Mastery, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Linux Server Deployment & SSH Mastery include 4 lezioni in totale.

Perché HTTPS è indispensabile

È possibile ospitare siti e configurare virtual host, ma servirli tramite HTTP semplice espone il traffico all'intercettazione e alla manomissione. I browser ora segnalano i siti HTTP come «Non sicuro».

HTTPS crittografa il traffico utilizzando un certificato TLS. Grazie a Let's Encrypt, questi certificati sono gratuiti e automatizzati.

Come funziona Let's Encrypt

Let's Encrypt è un'autorità di certificazione che rilascia gratuitamente certificati con validità breve (90 giorni). Per dimostrare che si controlla un dominio, utilizza il protocollo ACME con una challenge automatizzata.

Un client chiamato Certbot gestisce per Lei la richiesta, l'installazione e il rinnovo dei certificati.

Prerequisiti

Prima di richiedere un certificato, verifichi che:

  • Il record DNS A del dominio punti all'indirizzo IP del server
  • Le porte 80 e 443 siano aperte nel firewall
  • Il web server sia in esecuzione e serva il dominio

La challenge richiede che la porta 80 sia raggiungibile da Internet.

sudo ufw allow 'Nginx Full'
dig +short yourdomain.com

Installazione di Certbot

Certbot è disponibile come pacchetto, con plugin per Nginx e Apache che automatizzano le modifiche alla configurazione.

sudo apt install certbot python3-certbot-nginx
# For Apache:
sudo apt install certbot python3-certbot-apache

Ottenimento di un certificato (Nginx)

Il plugin Nginx ottiene il certificato e modifica il server block affinché lo utilizzi. Indichi il dominio o i domini con -d.

Certbot rileva automaticamente il server block corrispondente.

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

Ottenere un certificato (Apache)

Per Apache il flusso di lavoro è identico usando il plugin apache. Certbot aggiorna il virtual host per abilitare SSL.

sudo certbot --apache -d yourdomain.com

Forzare i reindirizzamenti HTTPS

Durante la configurazione, Certbot chiede se reindirizzare HTTP a HTTPS — scelga sì. Se ha saltato questo passaggio, aggiunga manualmente un reindirizzamento nel blocco server HTTP.

server {
    listen 80;
    server_name yourdomain.com;
    return 301 https://$host$request_uri;
}

Rinnovo automatico

I certificati scadono dopo 90 giorni, ma Certbot installa un timer di systemd (o un cron job) che li rinnova automaticamente. Può testare il processo di rinnovo in sicurezza con un dry run.

sudo certbot renew --dry-run
systemctl list-timers | grep certbot

Verificare il certificato

Confermi che HTTPS funziona visitando il sito ed esaminando il certificato. Dalla CLI può elencare i certificati gestiti e controllarne la scadenza.

sudo certbot certificates
curl -svI https://yourdomain.com 2>&1 | grep -i 'subject\|expire'

Rafforzare TLS

Per ottenere il massimo livello di sicurezza, ottimizzi la configurazione TLS: disabiliti i protocolli obsoleti, preferisca cifrari robusti e abiliti HSTS affinché i browser usino sempre HTTPS.

Strumenti come Mozilla's SSL Configuration Generator producono impostazioni pronte da incollare.

ssl_protocols TLSv1.2 TLSv1.3;
add_header Strict-Transport-Security 'max-age=63072000' always;

Buone pratiche

Per usare HTTPS in modo affidabile:

  • Reindirizzi sempre HTTP a HTTPS
  • Testi il rinnovo con --dry-run dopo la configurazione
  • Apra entrambe le porte 80 e 443; la porta 80 è necessaria per i rinnovi
  • Abiliti HSTS e solo protocolli TLS moderni

Verifica rapida

Verifichi le sue conoscenze su HTTPS.

Riepilogo

Ha protetto il suo server web con TLS gratuito:

  • Ha installato Certbot con il plugin Nginx/Apache
  • Ha ottenuto i certificati con certbot --nginx -d
  • Ha forzato i reindirizzamenti da HTTP → HTTPS
  • Ha confermato il rinnovo automatico con un dry run

I suoi siti statici e virtual host ora servono traffico crittografato per impostazione predefinita.

Domande Frequenti

La lezione «Abilitare HTTPS con Let's Encrypt» è gratuita?

Sì — il testo completo di «Abilitare HTTPS con Let's Encrypt» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Linux Server Deployment & SSH Mastery, passa a CoddyKit PRO. Il corso Linux Server Deployment & SSH Mastery include 4 lezioni in totale.

Cosa imparerò in «Abilitare HTTPS con Let's Encrypt»?

Proteggete il vostro web server con certificati TLS gratuiti di Let's Encrypt. Installate Certbot, ottenete e rinnovate automaticamente i certificati e configurate Nginx o Apache per servire il traff… Eserciti Linux Server Deployment & SSH Mastery con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Linux Server Deployment & SSH Mastery?

Non è richiesta alcuna esperienza precedente. Linux Server Deployment & SSH Mastery su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Abilitare HTTPS con Let's Encrypt»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Linux Server Deployment & SSH Mastery?

Sì. Ogni lezione Linux Server Deployment & SSH Mastery include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Installazione di Nginx/Apache
  2. Hosting di siti web statici
  3. Configurazione di base degli host virtuali
  4. Abilitare HTTPS con Let's Encrypt
← Torna a Linux Server Deployment & SSH Mastery