Decidi tu quali servizi possiamo attivare per analisi, personalizzazione e contenuti esterni.
Utilizziamo cookie e tecnologie simili sul nostro sito web per personalizzare i contenuti, integrare media esterni e comprendere meglio l'utilizzo delle singole sezioni.
Cookie necessari
Queste voci garantiscono funzioni di base come sicurezza, stabilità e gestione dei moduli.
Il trattamento dei dati può avvenire con il tuo consenso o sulla base di interessi legittimi. Nelle impostazioni dei cookie puoi negare il consenso a ciascuna categoria facoltativa o autorizzarla singolarmente.
Alcuni servizi trattano dati personali in Paesi terzi. Con il tuo consenso, accetti anche questo trasferimento. Trovi maggiori informazioni nella nostra informativa sulla privacy.
Potrai riaprire e modificare la tua selezione in qualsiasi momento. · 1.0.2
Server VPS: creare un certificato SSL (Let's Encrypt) per server Linux
Scopri come proteggere il tuo sito web con certificati SSL gratuiti tramite Certbot e Let's Encrypt, per trasmettere i dati in sicurezza → Scopri di più
10 novembre 20266 min di lettura1 Visualizzazioni0 utile
Introduzione
I certificati SSL sono una componente essenziale di Internet e consentono di trasmettere i dati in modo sicuro tra client e host. In questa guida ti mostriamo come configurare lo strumento open source Certbot per richiedere certificati SSL gratuiti all'autorità di certificazione senza scopo di lucro Let's Encrypt.
FAQ
Domande frequenti
Ti servono un server Linux, un dominio di tua proprietà e l'accesso alle relative impostazioni DNS. Per ogni dominio principale o sottodominio che vuoi usare, devi creare un record DNS A che punti all'indirizzo IP del tuo server Linux.
Con il comando 'sudo apt install certbot'.
Il metodo standard HTTP-01, perché consente i rinnovi automatici. In alternativa, puoi usare il metodo manuale DNS-01 tramite un record DNS TXT, che però non supporta il rinnovo automatico.
Sì. Certbot offre plugin aggiuntivi per Nginx e Apache che permettono di configurare un certificato con un solo clic.
Feedback
Questo articolo ti è stato utile?
Il tuo feedback ci aiuta a definire le priorità e a migliorare i contenuti.
0 di 0 I feedback hanno giudicato utile questo articolo.
Assistenza personale
Le istruzioni non sono sufficienti?
Il supporto ZAP conosce il tuo prodotto: descrivi brevemente la tua richiesta e ti aiuteremo personalmente.
Navigazione
VPS
Preparazione
Per utilizzare Certbot, ti servono un server Linux e un dominio di tua proprietà. Devi poter accedere alle impostazioni DNS del dominio e devi creare un record DNS A per ogni dominio principale o sottodominio che vuoi usare, indirizzandolo all'indirizzo IP del tuo server Linux.
Certbot offre anche plugin aggiuntivi che consentono di configurare un certificato per un dominio con un solo clic, compatibili con diversi server web come Nginx o Apache. Ti consigliamo Nginx, perché è un server web open source apprezzato e performante. Per configurarlo, consulta la nostra guida Linux Reverse Proxy.
Installazione
Per iniziare, installa il pacchetto open source Certbot, che ti consente di richiedere certificati SSL gratuiti a Let's Encrypt.
Code
sudo apt install certbot
Dopo aver installato Certbot, puoi richiedere i certificati per i tuoi domini. Let's Encrypt e Certbot offrono diverse challenge ACME per verificare la proprietà del dominio.
Ti consigliamo vivamente il metodo standard HTTP-01, perché consente i rinnovi automatici. Se riscontri problemi, puoi usare in alternativa il metodo manuale DNS-01, che si basa su un record DNS TXT ma non supporta il rinnovo automatico.
Suggerimento
Usa i plugin per i server web
Se utilizzi un server web come Nginx, Apache o un server web personalizzato, ti consigliamo di passare direttamente alla sezione Plugin per server web più avanti. Ti mostreremo come usare i plugin Certbot aggiuntivi per questi server web, così da installare tutto con un solo clic e richiedere i certificati senza dover arrestare il server web.
Challenge HTTP-01
Dopo aver installato Certbot, puoi richiedere i certificati per i tuoi domini. In questo esempio usiamo la modalità standalone, in cui Certbot avvia un server web temporaneo per eseguire la challenge. A tale scopo, devi aprire la porta 80 nel firewall e assicurarti che sulla porta 80 non siano in esecuzione altri server web o servizi, così che il server temporaneo possa avviarsi e la challenge possa essere verificata (da qui il nome HTTP della challenge).
Nel comando seguente, usa il parametro --standalone per indicare a Certbot di usare il server web temporaneo.
Dopo aver eseguito il comando, potrebbe avviarsi una procedura interattiva iniziale, durante la quale dovrai inserire un indirizzo e-mail per le comunicazioni relative ai certificati. Potrai poi iscriverti facoltativamente a una mailing list e dovrai accettare i termini e le condizioni.
Certbot genera una challenge ACME e la ospita tramite il server web temporaneo. I server di Let's Encrypt proveranno quindi a recuperarla dal tuo server. Se la verifica riesce, i certificati verranno creati e salvati nella directory /etc/letsencrypt/live/[deine_domain].
Ora puoi usare i certificati SSL dove ti servono, indicando semplicemente il percorso locale dei certificati.
Record DNS TXT
Se riscontri problemi nella verifica del dominio con il metodo HTTP-01, puoi usare in alternativa il metodo DNS-01. In questo caso, devi creare un record DNS TXT con un valore fornito da Let's Encrypt.
Come già indicato, questo metodo non supporta il rinnovo automatico, a meno che tu non configuri un'infrastruttura dedicata. Perciò, se possibile, ti consigliamo di usare il metodo HTTP-01.
Nel comando seguente, usa il parametro --preferred-challenges per indicare a Certbot che vuoi usare il metodo DNS-01.
Dopo aver eseguito il comando, potrebbe avviarsi una procedura interattiva iniziale, durante la quale dovrai inserire un indirizzo e-mail per le comunicazioni relative ai certificati. Potrai poi iscriverti facoltativamente a una mailing list e dovrai accettare i termini e le condizioni.
Certbot ti indicherà come creare un record DNS TXT con un valore specifico. Il nome di destinazione è in genere _acme-challenge. seguito dal tuo dominio (ad es. _acme-challenge.zapdocs.example.com); puoi trovare il valore nella console.
Dopo aver creato il record, premi Invio per continuare. Se tutto è configurato correttamente e il record si è propagato, i certificati verranno creati e salvati nella directory /etc/letsencrypt/live/[deine_domain].
Info
Attendi con pazienza: le modifiche DNS potrebbero impiegare un po' di tempo a propagarsi. Di solito bastano pochi minuti, ma in rari casi potrebbe volerci più tempo.
Ora puoi usare i certificati SSL dove ti servono, indicando semplicemente il percorso locale dei certificati.
Plugin per server web
Certbot offre diversi plugin aggiuntivi per server web che semplificano ulteriormente la gestione dei certificati, perché modificano automaticamente i blocchi server pertinenti. Per usare un plugin, ti basta aggiungere il parametro corrispondente al comando certbot.
Entrambi i metodi usano la challenge HTTP-01 e funzionano in modo sostanzialmente analogo. Certbot cerca prima il blocco server che contiene il dominio richiesto come server_name. Poi genera una challenge ACME e aggiunge temporaneamente un blocco location /.well-known/acme-challenge/... alla configurazione del blocco server.
I server di Let's Encrypt proveranno quindi a recuperare la challenge dal tuo server. Se la verifica riesce, il certificato verrà generato e la configurazione del blocco server verrà modificata automaticamente per usare HTTPS (porta 443) e inserire i percorsi dei nuovi certificati.
Plugin Nginx
Prima di usare il plugin, assicurati che sia installato.
Code
sudo apt install python3-certbot-nginx
Per usare il plugin Nginx, aggiungi il parametro --nginx al comando.
Se vuoi disattivare le modifiche automatiche «con un clic» ai blocchi server da parte di Certbot, puoi aggiungere il parametro certonly, ad es. certbot certonly.
Plugin Apache
Prima di usare il plugin, assicurati che sia installato.
Code
sudo apt install python3-certbot-apache
Per usare il plugin Apache, aggiungi il parametro --apache al comando.
Se vuoi disattivare le modifiche automatiche «con un clic» ai blocchi server da parte di Certbot, puoi aggiungere il parametro certonly, ad es. certbot certonly.
Plugin Webroot
Se usi un server web locale personalizzato e non basato su software standard, potresti preferire il metodo Webroot: ti permette di lasciare il server web in esecuzione senza doverlo arrestare.
Per usare il plugin Webroot, aggiungi il parametro --webroot al comando. Inoltre, con -w [dein_webserver_pfad] (abbreviazione di --webroot-path), devi indicare il percorso della directory principale del tuo server web.
Un percorso Webroot comune è /var/www/html. Puoi usare questo metodo anche con server web come Nginx o Apache se vuoi lasciarli in esecuzione, senza applicare modifiche automatiche ai blocchi server come avviene con i plugin nativi.
Rinnovo automatico
Nella maggior parte dei casi, Certbot configura il rinnovo automatico dei certificati tramite un cronjob e/o un timer systemd. Puoi verificarlo con il comando seguente, che esegue una simulazione con --dry-run.
Code
certbot renew --dry-run
Suggerimento
Come già indicato, il metodo DNS-01 non supporta il rinnovo automatico tramite Certbot, a meno che tu non configuri un'infrastruttura dedicata. Perciò, se possibile, ti consigliamo di usare il metodo HTTP-01.
Il test dovrebbe riuscire se tutto è configurato correttamente. Se vuoi consultare o modificare le impostazioni del rinnovo automatico, puoi trovare il comando corrispondente in una delle directory seguenti: /etc/crontab/, /etc/cron.*/* oppure tramite systemctl list-timers.
Configurare manualmente un cronjob
Se il rinnovo automatico non è configurato, puoi aggiungerlo manualmente con un cronjob. Apri crontab con crontab -e. Se è la prima volta che lo fai, ti verrà chiesto di scegliere un editor. Seleziona la prima opzione, di solito /bin/nano.
Nel file Nano aperto, aggiungi la riga seguente per eseguire il rinnovo ogni giorno alle 6 del mattino, ora locale.
Code
0 6 * * * certbot renew
Salva il file e chiudi Nano con CTRL + X, conferma con Y e premi ENTER.
Conclusione
Hai configurato Certbot correttamente per i tuoi domini, sia in modalità standalone, tramite Webroot o con uno dei plugin, e ora il tuo sito web trasmette i dati in modo sicuro tramite HTTPS. Se hai domande o riscontri problemi, il nostro team di supporto è a tua disposizione ogni giorno! 🙂
Hosting server da 2,49 € / mese, subito online, protezione DDoS inclusa.