In questo tutorial, ti mostreremo come configurare Nginx con SSL sul tuo server Linux. Per chi non lo sapesse, Transport Layer Security (TLS) e Secure Socket Layer ( SSL) fornisce un metodo semplice per crittografare le connessioni tra utenti finali e server Web. SSL utilizza un sistema di autorità di certificazione per fornire la verifica dell'identità al fine di impedire ai siti Web di affermare falsamente di essere un'altra organizzazione o sito Web. Questo tutorial mostra come configurare forte sicurezza SSL sul server web Nginx.
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 e presuppone che tu sono in esecuzione nell'account root, in caso contrario potrebbe essere necessario aggiungere 'sudo
' ai comandi per ottenere i privilegi di root. Ti mostrerò passo dopo passo la configurazione di Nginx con SSL sul tuo Linux.
Configura Nginx con SSL
Obbligatorio:
- Supponendo che tu abbia installato il server web Nginx.
- Utilizzo Namecheap come registrar e rivendono certificati SSL da diverse altre società, inclusa Comodo.
Passaggio 1. Crea una directory
mkdir -p /etc/nginx/ssl/idroot.us
Passaggio 2. Generazione della tua chiave SSL e CSR
Prima di acquistare un certificato, devi generare una chiave privata e un file CSR (Richiesta di firma del certificato). Ti verrà chiesto il contenuto del File CSR al momento dell'ordine del certificato. Per Common Name inserisci il nome di dominio desiderato senza 'www', ad esempio idroot.us. Se è un SSL con caratteri jolly, usa *.idroot.us.
openssl req -nodes -newkey rsa:2048 -keyout idroot.us.key -out idroot.us.csr
Passaggio 3. Crea un pacchetto di certificati
Dopo aver acquistato il certificato, riceverai un'email con il tuo certificato SSL. Contiene un file zip con quanto segue:
- AddTrustExternalCARoot.crt
- COMODORSAAddTrustCA.crt
- COMODORSADomainValidationSecureServerCA.crt
- idroot_net.crt
cat idroot_net.crt AddTrustExternalCARoot.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt >> ssl-bundle.crt
Una volta creato un pacchetto di certificati, puoi spostarlo nella tua directory SSL Nginx.
mv ssl-bundle.crt /etc/nginx/ssl/idroot.us/
Passaggio 4. Configura il certificato per Nginx
Vai alla configurazione dell'host virtuale Nginx, l'utilizzo di SSL con Nginx richiede una modifica alla direttiva listen e tre direttive relative a SSL, come mostrato nei seguenti esempi:
nano /etc/nginx/conf.d/ssl.conf
server { listen 443 ssl spdy; server_name www.idroot.us idroot.us; root /var/www/idroot.us/public_html; index index.php index.html index.htm; server_tokens off; #SSL CONF ssl on; ssl_certificate /etc/nginx/ssl/idroot.us/ssl-bundle.crt; ssl_certificate_key /etc/nginx/ssl/idroot.us/idroid.us.key; #SSL ssl_session_cache shared:SSL:20m; ssl_session_timeout 10m; ssl_prefer_server_ciphers On; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 10s; # permalink location / { try_files $uri $uri/ /index.php?$args; } # php-script handler location ~ \.php$ { fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; root /var/www/idroot.us/public_html; fastcgi_param SCRIPT_FILENAME /var/www/idroot.us/public_html$fastcgi_script_name; include /etc/nginx/fastcgi_params; } location ~ /\.ht { deny all; } }
Passaggio 5. Reindirizza gli host virtuali HTTP su HTTPS
return 301 https://idroot.us$request_uri;
Passaggio 6. Riavvia/ricarica Nginx.
/etc/init.d/nginx restart
Congratulazioni! Hai installato con successo Nginx con SSL. Grazie per aver utilizzato questo tutorial per l'installazione e la configurazione di Nginx con SSL su un sistema Linux. Per ulteriore aiuto o informazioni utili, ti consigliamo di controllare il Sito web di Nginx.