Il lucchetto che compare accanto all'indirizzo di un sito significa che la connessione è cifrata e che il sito è chi dice di essere. Senza, i browser avvisano di "sito non sicuro", Google posiziona peggio e i moduli viaggiano in chiaro. Anni fa un certificato costava soldi e scartoffie; oggi Let's Encrypt li dà gratis e si rinnovano da soli.
Su una macchina Lightsail ci sono due situazioni. Se l'hai creata da un modello di applicazione (WordPress, Joomla, LAMP...), è un'immagine di Bitnami e ha uno strumento che fa tutto con qualche domanda. Se è un Linux "nudo" (Ubuntu, Debian, Amazon Linux) dove hai installato tu il server web, userai Certbot, anch'esso semplice. La guida copre entrambe.
Prima di iniziare: cosa significa ogni cosa
- HTTPS e certificato
- HTTPS è la versione sicura di HTTP, il modo in cui il browser parla con il tuo sito. Per usarla, il sito ha bisogno di un certificato: un file che dimostra che il dominio è tuo e permette di cifrare la connessione.
- Let's Encrypt
- Un ente senza scopo di lucro che emette certificati gratis. Durano 90 giorni e si rinnovano automaticamente con un programma.
- Certbot
- Il programma più usato per richiedere e installare certificati di Let's Encrypt su un server Linux.
- Bitnami
- L'azienda che prepara i modelli di applicazioni di Lightsail (WordPress, ecc.). Le sue macchine hanno uno strumento proprio, bncert-tool, per il certificato.
- Apache e Nginx
- I due server web più comuni: il programma dentro la macchina che consegna le pagine al browser. Il certificato si installa lì.
- Porta 443
- La "porta" da cui entra il traffico HTTPS. Il firewall di Lightsail deve averla aperta.
- SSH / terminale del browser
- Il modo di dare ordini alla macchina scrivendo comandi. In Lightsail puoi aprirlo con un pulsante nella console, senza installare nulla.
- Record A
- La voce del DNS che fa puntare il tuo dominio all'IP della macchina. Let's Encrypt la verifica prima di rilasciare il certificato.
Passo dopo passo
Verifica il dominio e il firewall
Due requisiti senza i quali nulla funzionerà. Primo, il dominio deve già puntare all'IP della macchina (e conviene che sia un IP statico): scrivi il dominio nel browser e deve caricare il tuo sito, anche senza lucchetto. Secondo, in Lightsail, scheda Rete della macchina, il firewall deve avere aperte HTTP (80) e HTTPS (443). La 443 non è aperta di default: aggiungila se manca.
Apri il terminale della macchina
Nella console di Lightsail, clicca il pulsante Connetti tramite SSH della macchina (l'icona arancione del terminale). Si apre una finestra nera nel browser dove scriverai i comandi dei passi successivi. Non serve installare nessun programma sul tuo computer.
Se la tua macchina è Bitnami: usa il suo strumento
Scrivi:
sudo /opt/bitnami/bncert-toolTi chiederà i domini (scrivi
midominio.com www.midominio.com), se vuoi reindirizzare HTTP verso HTTPS (di' di sì) e se vuoi che www reindirizzi al dominio senza www o viceversa (scegline uno). Alla fine chiede un'email per gli avvisi di Let's Encrypt e che tu accetti le sue condizioni. Riavvia i servizi al posto tuo. Quando finisce, il certificato è installato e il rinnovo programmato. Passa al passo 5.Se la tua macchina è un Linux normale: usa Certbot
Su Ubuntu o Debian con Apache:
sudo apt update sudo apt install -y certbot python3-certbot-apache sudo certbot --apache -d midominio.com -d www.midominio.comCon Nginx, cambia
python3-certbot-apacheinpython3-certbot-nginxe--apachein--nginx. Certbot ti chiede un'email, di accettare le condizioni e se vuoi reindirizzare tutto il traffico verso HTTPS (di' di sì). Modifica lui stesso la configurazione del server web e la ricarica. Su Amazon Linux i nomi dei pacchetti cambiano; la documentazione di Certbot ha le istruzioni esatte per ogni sistema.Verifica il lucchetto
Apri
https://midominio.comnel browser: deve comparire il lucchetto e, cliccandolo, un certificato emesso da Let's Encrypt (compare come "R3", "R10" o un altro nome corto). Prova anche la versione senza https: deve reindirizzare da sola a quella sicura. Se usi WordPress, controlla in Impostazioni, Generali che i due indirizzi inizino con https.Conferma che si rinnoverà da solo
I certificati di Let's Encrypt scadono dopo 90 giorni, ma sia bncert-tool sia Certbot lasciano programmato il rinnovo automatico. Per stare tranquillo, nel terminale:
sudo certbot renew --dry-run(Su Bitnami, l'equivalente è verificare che esista l'attività in
sudo crontab -l.) Se la prova finisce senza errori, non dovrai più toccare questa cosa. Let's Encrypt ti manderà un'email se un giorno il rinnovo dovesse fallire.
Cosa può andare storto
Dice che non riesce a verificare il dominio
O il dominio non punta ancora a questa macchina (aspetta che il DNS si propaghi), o la porta 80 è chiusa nel firewall di Lightsail. Let's Encrypt deve raggiungere il tuo sito dalla porta 80 per verificare che sia tuo.
C'è il lucchetto ma il browser avvisa di "contenuto misto"
La pagina carica immagini o script con indirizzi http://. In WordPress, cambia gli indirizzi del sito in https nelle Impostazioni e, se serve, usa un plugin che riscriva gli URL vecchi. In un sito fatto a mano, correggi i link.
Funziona senza www ma non con www (o viceversa)
Manca uno dei due nomi nel certificato o nel DNS. Ripeti il comando includendo entrambi con -d, e verifica che www abbia il suo record nel DNS.
Sono rimasto senza accesso dopo aver toccato il firewall
Il firewall di Lightsail si sistema dalla console, non dalla macchina. Torna alla scheda Rete e controlla le regole. Il terminale del browser funziona sempre.
In Simplio
In Simplio puoi lanciare l'installazione del certificato di Let's Encrypt su una macchina Lightsail dal catalogo degli script, scrivendo solo il dominio: Simplio entra con la chiave temporanea che fornisce AWS, esegue i passi e ti restituisce il risultato, senza lasciare nulla installato. E ti avvisa via email se un certificato sta per scadere senza rinnovarsi.
La stessa cosa, in AWS e in Simplio
| Nella console di AWS | In Simplio | |
|---|---|---|
| Installare il certificato | Aprire la porta 443, terminale, bncert-tool o Certbot, rispondere alle domande: 5 passi, 20 minuti e un terminale | Script di Let's Encrypt dal catalogo: scrivere il dominio e premere, 2 minuti |
| Se il rinnovo fallisce | Email di Let's Encrypt a chi l'ha configurato, se è ancora in azienda | Avviso via email di certificato in scadenza |
| Più siti | Ripetere su ogni macchina | Lo stesso script su ogni macchina, dallo stesso elenco |