Per instal·lar un certificat SSL a Nginx, necessitarem els següents fitxers:
Ja els tens? Comencem:
Copia els tres fitxers al servidor. En aquest manual, assumim que has pujat els tres fitxers mitjançant FTP, però pots fer-ho de qualsevol altra manera.
Connecta't al servidor mitjançant SSH i accedeix al directori on es troben els certificats. Si els has pujat al directori 'web':
cd /var/www/minuevaweb.es/datos/web
Connecta el fitxer .crt amb el fitxer .ca, i el guardes al directori de certificats de Nginx:
cat /var/www/minuevaweb.es/datos/web/certificado.crt /var/www/minuevaweb.es/datos/web/certificado.ca >> /etc/nginx/swhosting/ssl/certificados.crt
Mou el fitxer .key al directori de certificats de Nginx:
mv /var/www/minuevaweb.es/datos/web/certificado.key /etc/nginx/ssl/
Elimina els fitxers de certificat de la carpeta web, per assegurar-te que no siguin públics.
rm /var/www/minuevaweb.es/datos/web/certificado.crt
rm /var/www/minuevaweb.es/datos/web/certificado.ca
Accedeix al directori de certificats i canvieu-ne el propietari i el grup a root:
cd /etc/nginx/ssl
chown root:root certificats.crt certificat.key
Ja hem copiat els certificats al directori corresponent.
A continuació procedim a modificar l'arxiu de configuració corresponent a la nostra web:
Accedeix al directori de fitxers de configuració vhosts:
cd /etc/nginx/sites-enabled/
Edita el fitxer de configuració corresponent a la web on estàs instal·lant el certificat SSL. En aquest exemple utilitzem l'editor de textos nano, però pots fer ús de qualsevol altre:
nano minuevaweb.es.conf
Fes una còpia del primer bloc existent sota el mateix, quedarà duplicat:
# nginx virtual host for domain 'minuevaweb.es'
server {
listen 80;
root "/var/www/minuevaweb.es/datos/web";
index index.html index.php;
server_name minuevaweb.es www.minuevaweb.es;
access_log /var/www/minuevaweb.es/logs/20190307.log;
error_log /var/www/minuevaweb.es/logs/error_20190307.log;
include /etc/nginx/php7.2.conf;
}
(l'arxiu original)
server {
listen 80;
root "/var/www/minuevaweb.es/datos/web";
index index.html index.php;
server_name minuevaweb.es www.minuevaweb.es;
access_log /var/www/minuevaweb.es/logs/20190307.log;
error_log /var/www/minuevaweb.es/logs/error_20190307.log;
include /etc/nginx/php7.2.conf;
}
server {
listen 80;
root "/var/www/minuevaweb.es/datos/web";
index index.html index.php;
server_name minuevaweb.es www.minuevaweb.es;
access_log /var/www/minuevaweb.es/logs/20190307.log;
error_log /var/www/minuevaweb.es/logs/error_20190307.log;
include /etc/nginx/php7.2.conf;
}
(l'arxiu amb la còpia original)
server {
listen 443;
...
...
ssl on;
ssl_certificate /etc/nginx/ssl/certificados.crt;
ssl_certificate_key /etc/nginx/ssl/certificado.key;
...
# nginx virtual host for domain 'minuevaweb.es'
server {
listen 80;
root "/var/www/minuevaweb.es/datos/web";
index index.html index.php;
server_name minuevaweb.es www.minuevaweb.es;
access_log /var/www/minuevaweb.es/logs/20190307.log;
error_log /var/www/minuevaweb.es/logs/error_20190307.log;
include /etc/nginx/php7.2.conf;
}
server {
listen 443;
ssl on;
ssl_certificate /etc/nginx/ssl/certificados.crt;
ssl_certificate_key /etc/nginx/ssl/certificado.key;
root "/var/www/minuevaweb.es/datos/web";
index index.html index.php;
server_name minuevaweb.es www.minuevaweb.es;
access_log /var/www/minuevaweb.es/logs/20190307.log;
error_log /var/www/minuevaweb.es/logs/error_20190307.log;
include /etc/nginx/php7.2.conf;
}
Guarda els canvis realitzats. A l'editor de textos nano, has de prémer la combinació de tecles següent:
Ctrl + X
per desar i sortir
Tecla Y
per confirmar que vols sobreescriure
Tecla Enter
Comprova que la configuració sigui correcta:
nginx -t
Si apareix algun error, repassa els passos anteriors.
Recarrega la configuració de Nginx perquè s'apliquin els canvis:
/etc/init.d/nginx reload
A punt! Accedeix a la teva web amb el prefix https:// per verificar que funciona correctament.