In questo tutorial, ti mostreremo come installare e configurare LetsEncrypt SSL con Nginx sul tuo server CentOS 6. Per chi non lo sapesse, LetsEncrypt è un certificato aperto gratuito autorità (CA) che fornisce certificati gratuiti per siti Web e altri servizi. Il servizio è supportato da Electronic Frontier Foundation, Mozilla, Cisco Systems e Akamai. Sfortunatamente, i certificati LetsEncrypt.org hanno attualmente una durata di 3 mesi. Ciò significa che avrai devi rinnovare il tuo certificato trimestralmente per ora.
Questo articolo presuppone che tu abbia almeno una conoscenza di base di Linux, sappia come usare la shell e, soprattutto, che ospiti il tuo sito sul tuo VPS. L'installazione è abbastanza semplice. Lo farò mostrarti l'installazione passo passo di LetsEncrypt SSL in CentOS 6.
Prerequisiti
- Un server che esegue uno dei seguenti sistemi operativi:CentOS 6.
- Si consiglia di utilizzare una nuova installazione del sistema operativo per prevenire potenziali problemi.
- Accesso SSH al server (o semplicemente apri Terminal se sei su un desktop).
- Un
non-root sudo user
o accedere all'root user
. Ti consigliamo di agire comenon-root sudo user
, tuttavia, poiché puoi danneggiare il tuo sistema se non stai attento quando agisci come root.
Installa LetsEncrypt SSL con Nginx su CentOS 6
Passaggio 1. Innanzitutto, devi abilitare il repository EPEL sul tuo sistema e iniziare assicurandoti che il tuo sistema sia aggiornato.
yum install epel-release yum -y update yum -y install git python-tools python-pip
Passaggio 2. Installa il server LEMP.
È richiesto un server CentOS 6 LEMP. Se non hai installato LEMP, puoi seguire la nostra guida qui.
Passaggio 3. Installazione di LetsEncrypt SSL.
Clone LetsEncrypt git project sul tuo server:
git clone https://github.com/letsencrypt/letsencrypt
Poi cambia nella cartella del progetto:
cd letsencrypt
Esegui i comandi seguenti per generare un certificato SSL per il tuo sito Web o blog:
./letsencrypt-auto certonly -a standalone -d yourdomain.com -d www.yourdomain.com
Supponendo che tu abbia fatto tutto bene, dovresti vedere questo:
LetsEncrypt mette le sue chiavi in questa directory /etc/letsencrypt
Passaggio 3. Generazione della tua chiave SSL e CSR.
In primo luogo, crea una directory SSL per ospitare i tuoi certificati SSL.
mkdir /etc/nginx/ssl cd /etc/nginx/ssl
Quindi segui i passaggi seguenti per generare una chiave del server, una richiesta di firma del certificato e un certificato autofirmato. Se desideri installare un certificato attendibile da un'autorità di certificazione attendibile , dovrai inviare una copia della CSR a un'autorità di certificazione per generare un certificato attendibile.
Crea la chiave privata del server, esegui i comandi seguenti:
openssl genrsa -des3 -out server.key 2048
Quindi esegui i comandi seguenti per generare una chiave di richiesta di firma del certificato utilizzando la chiave privata del server per creare un certificato SSL:
openssl req -new -key server.key -out server.csr
Quando esegui i comandi precedenti, ti verrà chiesto di rispondere ad alcune domande. Segui la semplice guida di seguito:
- Nome comune: il nome di dominio completo o l'URL che stai proteggendo.
Se stai richiedendo un certificato con caratteri jolly, aggiungi un asterisco (*) a sinistra di il nome comune in cui vuoi il carattere jolly, ad esempio *.idroot.us . - Organizzazione:il nome legalmente registrato per la tua attività. Se ti stai registrando come persona fisica, inserisci il nome del richiedente del certificato.
- Unità organizzativa: se applicabile, inserisci il nome DBA (doing business as). Se stai proteggendo un singolo blog, digita qui il nome del proprietario del blog.
- Città o località: nome della città in cui è registrata/situata la tua organizzazione.
- Stato o provincia: nome dello stato o provincia in cui si trova la tua organizzazione.
- Paese: il codice paese formato da due lettere dell'Organizzazione internazionale per la standardizzazione (ISO) per il luogo in cui la tua organizzazione è legalmente registrata.
Passaggio 4. Configura il certificato per Nginx.
Sei pronto per installare il certificato sul server Nginx. Di seguito è riportato un esempio di configurazione per il server web Nginx:
listen 443 ssl spdy; listen [::]:443 ssl spdy; ssl on; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; # ssl_session_cache shared:SSL:10m; ssl_protocols TLSv1.1 TLSv1.2; # ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK'; # ssl_prefer_server_ciphers on; add_header Strict-Transport-Security max-age=15768000; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=86400; resolver_timeout 10;
Salva la configurazione e riavvia il server web Nginx:
nginx -t service nginx restart
Ora il tuo dominio dovrebbe essere accessibile tramite HTTPS! Dai un'occhiata su https://tuodominio.com.
Congratulazioni! Hai installato con successo LetsEncrypt SSL. Grazie per aver utilizzato questo tutorial per l'installazione di LetsEncrypt SSL con Nginx sul tuo sistema CentOS 6. Per ulteriore aiuto o informazioni utili, ti consigliamo di controllare il LetsEncrypt ufficiale Sito Web SSL.