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
Configurare Certbot su un server Linux – Proteggi i tuoi siti web con SSL Let's Encrypt
Scopri come proteggere il tuo sito web con certificati SSL gratuiti tramite Certbot e Let's Encrypt per una trasmissione dati sicura → Scopri di più ora
10 novembre 20266 min di lettura4 Visualizzazioni0 utile
Introduzione
I certificati SSL sono una componente essenziale di Internet e garantiscono che i dati vengano trasmessi in modo sicuro tra client e host. In questa guida ti mostriamo come configurare lo strumento open source Certbot per richiedere certificati SSL gratuiti dall'ente certificatore no-profit Let's Encrypt.
FAQ
Domande frequenti
Ti serve un server Linux e un dominio di tua proprietà con accesso alle impostazioni DNS. Devi creare un record DNS A per ogni dominio principale o sottodominio che punti all'indirizzo IP del tuo server Linux.
Usa il comando sudo apt install certbot.
Certbot è uno strumento open source che ti permette di richiedere certificati SSL gratuiti dall'ente certificatore no-profit Let's Encrypt.
Consigliamo Nginx perché è un server web open source performante e molto diffuso. Trovi assistenza nella guida Linux Reverse Proxy.
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
Software
Preparazione
Per utilizzare Certbot, hai bisogno di un server Linux e di un dominio di tua proprietà. Devi avere accesso alle impostazioni DNS del dominio e devi creare un record DNS A per ogni dominio principale o sottodominio che vuoi usare, che punti all'indirizzo IP del tuo server Linux.
Certbot offre inoltre plugin aggiuntivi che ti permettono di configurare i certificati per i domini con un solo clic – compatibili con vari server web come Nginx o Apache. Consigliamo Nginx, in quanto è un server web open source performante e molto diffuso. Trovi assistenza per la configurazione nella nostra guida Linux Reverse Proxy.
Installazione
Inizia installando il pacchetto open source Certbot, con cui puoi richiedere certificati SSL gratuiti da Let's Encrypt.
Code
sudo apt install certbot
Dopo l'installazione, puoi richiedere certificati per il tuo/i tuoi dominio/i. Let's Encrypt e Certbot offrono diverse sfide ACME per verificare la proprietà del dominio.
Raccomandiamo vivamente il metodo standard HTTP-01, poiché consente il rinnovo automatico. Se riscontri problemi, puoi usare in alternativa il metodo DNS-01, che è manuale e non supporta il rinnovo automatico, poiché si basa sulla verifica tramite un record DNS TXT.
Suggerimento
Usa i plugin per server web
Se usi un server web come Nginx, Apache o un server personalizzato, ti consigliamo di passare direttamente alla sezione Plugin per server web più avanti. Qui ti mostriamo come utilizzare i plugin Certbot aggiuntivi per questi server web per un’installazione “one-click” e per richiedere certificati senza dover fermare il server web.
Sfida HTTP-01
Con Certbot installato, ora puoi richiedere certificati per il tuo/i tuoi dominio/i. In questo esempio usiamo la modalità standalone, in cui Certbot avvia un server web temporaneo per eseguire le operazioni necessarie. Ciò significa che devi aprire la porta 80 nel firewall e non devono esserci altri server web o servizi in ascolto sulla porta 80, affinché il server temporaneo possa partire e la sfida venga recuperata (da qui il nome HTTP nella sfida).
Nel comando seguente usi il parametro --standalone per indicare a Certbot di usare il server temporaneo.
Code
# Per domini principali
certbot certonly --standalone -d [tuo_dominio_principale] -d www.[tuo_dominio_principale]
# Per sottodomini
certbot certonly --standalone -d [tuo_dominio]
# Configurazione interattiva
certbot certonly --standalone
Dopo l'esecuzione del comando, potresti essere guidato da una configurazione interattiva iniziale, in cui inserire un indirizzo email per la comunicazione relativa ai certificati, seguito da una mailing list opzionale e dall'accettazione dei termini di servizio.
Certbot genera quindi una sfida ACME e la ospita tramite il server temporaneo. I server di Let's Encrypt tenteranno di recuperarla dal tuo server. Se la verifica ha successo, i certificati vengono creati e salvati in /etc/letsencrypt/live/[tuo_dominio].
Ora puoi usare i certificati SSL ovunque ti servano, indicando semplicemente il percorso locale ai certificati.
Record DNS TXT
Se hai problemi a verificare il dominio con il metodo HTTP-01, puoi usare in alternativa il metodo DNS-01, che richiede di creare un record DNS TXT con un valore fornito da Let's Encrypt.
Come detto, questo metodo non supporta il rinnovo automatico, a meno che tu non configuri un’infrastruttura dedicata. Per questo consigliamo, se possibile, di usare il metodo HTTP-01.
Nel comando seguente usi il parametro --preferred-challenges per indicare a Certbot di usare il metodo DNS-01.
Code
# Per domini principali
certbot certonly --preferred-challenges dns-01 -d [tuo_dominio_principale] -d www.[tuo_dominio_principale] --manual -m [tuo_email]
# Per sottodomini
certbot certonly --preferred-challenges dns-01 -d [tuo_dominio] --manual -m [tuo_email]
# Configurazione interattiva
certbot certonly --preferred-challenges dns-01
Dopo l'esecuzione, potresti essere guidato da una configurazione interattiva iniziale, in cui inserire un indirizzo email per la comunicazione relativa ai certificati, seguito da una mailing list opzionale e dall'accettazione dei termini di servizio.
Certbot ti fornirà quindi istruzioni su come creare un record DNS TXT con un valore specifico. Il nome host di destinazione è tipicamente _acme-challenge. seguito dal tuo dominio (nell’esempio sarebbe _acme-challenge.zapdocs.example.com). Il valore è visibile nella console.
Dopo aver creato il record, premi Invio per continuare. Se tutto è corretto e il record si è propagato, i certificati verranno creati e salvati in /etc/letsencrypt/live/[tuo_dominio].
Info
Ti preghiamo di avere pazienza, poiché le modifiche DNS possono richiedere un po’ di tempo per propagarsi. Di solito bastano pochi minuti, ma in rari casi può durare più a lungo.
Ora puoi usare i certificati SSL ovunque ti servano, indicando semplicemente il percorso locale ai certificati.
Plugin per server web
Certbot offre diversi plugin aggiuntivi per server web che semplificano ulteriormente la gestione dei certificati, poiché i plugin modificano automaticamente i blocchi di configurazione del server. Per usare un plugin, basta aggiungere il parametro corrispondente al comando certbot.
Entrambi i metodi usano la sfida HTTP-01 e funzionano sostanzialmente allo stesso modo. Quando si usa un plugin, Certbot cerca prima il blocco server che contiene il dominio richiesto come server_name. Poi genera una sfida ACME e aggiunge temporaneamente un blocco location /.well-known/acme-challenge/... nella configurazione del server.
I server di Let's Encrypt tentano quindi di recuperare la sfida dal tuo server. Se la verifica ha successo, il certificato viene generato e la configurazione del server web viene aggiornata automaticamente per abilitare HTTPS (porta 443) e indicare 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, usa il parametro --nginx nel comando come segue.
Code
# Per domini principali
certbot --nginx -d [tuo_dominio_principale] -d www.[tuo_dominio_principale]
# Per sottodomini
certbot --nginx -d [tuo_dominio]
# Configurazione interattiva
certbot --nginx
Suggerimento
Se vuoi disabilitare le modifiche automatiche “one-click” ai blocchi server da parte di Certbot, puoi aggiungere il parametro certonly, ad esempio 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, usa il parametro --apache nel comando come segue.
Code
# Per domini principali
certbot --apache -d [tuo_dominio_principale] -d www.[tuo_dominio_principale]
# Per sottodomini
certbot --apache -d [tuo_dominio]
# Configurazione interattiva
certbot --apache
Suggerimento
Se vuoi disabilitare le modifiche automatiche “one-click” ai blocchi server da parte di Certbot, puoi aggiungere il parametro certonly, ad esempio certbot certonly.
Plugin Webroot
Se gestisci un server web locale che non usa software tradizionali come Nginx o Apache, potresti preferire il metodo Webroot per mantenere il server attivo senza doverlo fermare.
Per usare il plugin Webroot, usa il parametro --webroot nel comando. Devi inoltre indicare il percorso della root del tuo server web con -w [tuo_percorso_webroot] (abbreviazione di --webroot-path).
Code
# Per domini principali
certbot --webroot -w [tuo_percorso_webroot] -d [tuo_dominio_principale] -d www.[tuo_dominio_principale]
# Per sottodomini
certbot --webroot -w [tuo_percorso_webroot] -d [tuo_dominio]
# Configurazione interattiva
certbot --webroot -w [tuo_percorso_webroot]
Suggerimento
Un percorso Webroot comune è /var/www/html. Puoi usare questo metodo anche con server come Nginx o Apache se vuoi mantenere il server attivo senza modifiche automatiche ai blocchi server come con i plugin nativi.
Rinnovo automatico
Nella maggior parte dei casi Certbot configura automaticamente il rinnovo dei certificati – tramite un cronjob o un timer systemd. Puoi testarlo con questo comando che simula un rinnovo a secco:
Code
certbot renew --dry-run
Suggerimento
Come detto, il metodo DNS-01 non supporta il rinnovo automatico tramite Certbot, a meno che non configuri un’infrastruttura dedicata. Per questo consigliamo, se possibile, il metodo HTTP-01.
Se tutto funziona come previsto, il test sarà positivo. Per controllare o modificare il rinnovo automatico, puoi trovare il cronjob o timer in /etc/crontab/, /etc/cron.*/* o tramite systemctl list-timers.
Configurazione manuale del cronjob
Se il rinnovo automatico non è configurato, puoi crearlo manualmente con un cronjob. Apri la crontab con crontab -e. Se è la prima volta, ti verrà chiesto di scegliere un editor – seleziona la prima opzione /bin/nano.
Nel nano aperto, aggiungi questa riga 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 INVIO.
Conclusione
Hai configurato con successo Certbot per il tuo/i tuoi dominio/i – sia in modalità standalone, con Webroot o con uno dei plugin – garantendo così una trasmissione dati sicura via HTTPS sul tuo sito web. Per domande o problemi, il nostro team di supporto è a tua disposizione ogni giorno! 🙂
Hosting server da 2,49 € / mese, subito online, protezione DDoS inclusa.