Guías y tutoriales

Cientos de tutoriales y guías paso a paso cuidadosamente escritas por nuestro equipo de soporte.

Cómo instalar certificado SSL en Nginx

Para instalar un certificado SSL en Nginx, necesitaremos los ficheros siguientes:

  • Certificado (.crt)
  • Clave privada (.key)
  • Autoridad de certificación (.ca)

¿Ya los tienes? Empezamos:

  1. Copia los tres ficheros en el servidor. En este manual asumimos que has subido los tres ficheros mediante FTP, pero puedes realizarlo de cualquier otra forma.

  2. Conéctate al servidor mediante SSH y accede al directorio en el que se encuentran los certificados. Si los has subido al directorio 'web': cd /var/www/minuevaweb.es/datos/web

  3. Conectamos el fichero .crt con el fichero .ca, y lo guardamos en el directorio de certificados 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

  4. Movemos el fichero .key al directorio de certificados de Nginx: mv /var/www/minuevaweb.es/datos/web/certificado.key /etc/nginx/ssl/

  5. Eliminamos los archivos de certificado de la carpeta web para asegurarnos que no sean públicos. rm /var/www/minuevaweb.es/datos/web/certificado.crt rm /var/www/minuevaweb.es/datos/web/certificado.ca

  6. Accedemos al directorio de certificados y cambiamos el propietario y grupo de los mismos a root: cd /etc/nginx/ssl chown root:root certificados.crt certificado.key

Ya hemos copiado los certificados en el directorio correspondiente.

A continuación, procedemos a modificar el archivo de configuración correspondiente a nuestra web:

  • Accede al directorio de ficheros de configuración vhosts: cd /etc/nginx/sites-enabled/

  • Edita el fichero de configuración correspondiente a la web en la que estás instalando el certificado SSL. En este ejemplo utilizamos el editor de textos nano, pero puedes hacer uso de cualquier otro: nano minuevaweb.es.conf

  • Hacemos una copia del primer bloque existente debajo del mismo, quedando duplicado:

# 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;
}

(el archivo 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;
}

(el archivo con la copia original)

  • En el segundo bloque, modificamos el puerto de 80 a 443:
server {
        listen 443;
        ...
  • En el segundo bloque, después del puerto (parámetro listen), añadimos las siguientes líneas con las rutas correspondientes a nuestros certificados:
        ...
        ssl on;
        ssl_certificate /etc/nginx/ssl/certificados.crt;
        ssl_certificate_key /etc/nginx/ssl/certificado.key;
        ...
  • Quedará de la siguiente forma:
# 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;
}
  • Guardamos los cambios realizados. En el editor de textos nano, has de pulsar la siguiente combinación de teclas: Ctrl + X para guardar y salir Tecla Y para confirmar que quieres sobreescribir Tecla Enter

  • Comprobamos que la configuración es correcta: nginx -t Si aparece algún error, repasa los pasos anteriores.

  • Recargamos la configuración de Nginx para que se apliquen los cambios: /etc/init.d/nginx reload

¡Listo! Accede a tu web con el prefijo https:// para verificar que funciona correctamente.

Si lo prefieres, podemos realizar esta gestión por ti. Solicítalo mediante un ticket para actuación técnica.

Más de 2000 m² de instalaciones propias y Centros de Datos en España
Tu privacidad es importante para nosotros
Utilizamos cookies propias para el correcto funcionamiento del sitio. Además, se utilizan otras de terceros solo para fines analíticos. Esta información no se asocia a ninguna persona para que no se almacenen datos personales identificativos, sino que es solo una información que se recoge para identificar la sesión, con el objetivo de facilitar los análisis del sitio web. Puedes cambiar tus preferencias en cualquier momento entrando de nuevo en este sitio web. Para más información sobre nuestra política de cookies puedes visitar nuestra Información cookies. Puedes pulsar el botón "Aceptar y cerrar" para otorgarnos tu consentimiento o puedes acceder a información más detallada y administrar las cookies.
Más de 2000 m² de instalaciones propias y Centros de Datos en España
Tu privacidad es importante para nosotros
Utilizamos cookies propias para el correcto funcionamiento del sitio. Además, se utilizan otras de terceros solo para fines analíticos. Esta información no se asocia a ninguna persona para que no se almacenen datos personales identificativos, sino que es solo una información que se recoge para identificar la sesión, con el objetivo de facilitar los análisis del sitio web. Puedes cambiar tus preferencias en cualquier momento entrando de nuevo en este sitio web. Para más información sobre nuestra política de cookies puedes visitar nuestra Información cookies. Puedes pulsar el botón "Aceptar y cerrar" para otorgarnos tu consentimiento o puedes acceder a información más detallada y administrar las cookies.