22.05.2023

Cómo instalar un certificado SSL en Nginx para Ubuntu 20.04

Para usar el HTTPS protocolo en un sitio web, debe obtener el certificado TLS/SSL y configurar Nginx. Puede obtener un certificado de una autoridad de certificación de confianza por dinero en una gran cantidad de servicios. La versión gratuita es posible gracias a la El servicio Let's Encrypt se describe aquí en el paso 3.También es necesario realizar básica Nginx configuración. Si utiliza certificados autofirmados, el navegador mostrará un error al comprobar la seguridad.

En Serverspace usted puede crear un servidor con la aplicación ya instalada "Nginx".

Configuración básica de SSL

Si compró un certificado SSL, debe crear una cadena completa de su certificado a partir de la clave pública recibida y la cadena de centros certificadores. Para hacer esto, coloque el contenido del archivo de cadena al final del archivo de clave pública. Los archivos pueden tener la .pem or .crt extensión.

cat cert.pem cadena.pem > cadena completa.pem

Ahora copie los archivos a su servidor. Una buena opción es poner la clave privada (.key o .pem) en el /etc/ssl/privado/ carpeta, y la cadena completa.pem En el correo electrónico “Su Cuenta de Usuario en su Nuevo Sistema XNUMXCX”. / etc / ssl / certs /.

Ahora abra el archivo de configuración de su servidor virtual (/etc/nginx/sitios-disponibles/nombre-de-dominio.com) y agregue las siguientes líneas:

servidor {
escucha 443 ssl;
nombre_servidor nombre-dominio.com; # El nombre de dominio de su sitio web
certificado_ssl /etc/ssl/certs/fullchain.pem; # Ruta a la cadena completa de su certificado SSL
ssl_certificate_key /etc/ssl/private/privkey.pem; # Ruta a la clave privada de su certificado SSL
}

No olvide configurar el raíz y índice parametros en esta sección, al igual que en la HTTP .
Reanudar Nginx.

reiniciar systemctl nginx

Ahora puede verificar su certificado SSL y su configuración usando https://www.ssllabs.com/ssltest/ y proceda con ajustes que no correspondan a la clase A.

Deshabilitar protocolos obsoletos y habilitar prioridad para cifrados de servidor

Especifique el uso de las versiones 1.2 y 1.3 de TLS y la prioridad de los cifrados del servidor. Abre el /etc/ nginx/nginx.conf archivo y corregir o agregar las siguientes líneas en el http .

http {
...
protocolos_ssl TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers en;
...
}

Reanudar Nginx.

reiniciar systemctl nginx

Redirigir desde HTTP a HTTPS

Para configurar el sitio para que funcione solo sobre HTTPS necesita agregar una redirección con HTTP. Abra el archivo de configuración de su servidor virtual (/etc/nginx/sitios-disponibles/nombre-de-dominio.com), elimine el HTTP sección:

servidor {
escuchar 80;
...
}

Ahora agrega uno nuevo con el siguiente paraméteres:

servidor {
escuchar 80;
nombre_servidor nombre-dominio.com; # El nombre de dominio de su sitio web
volver 301 https://$host$solicitud_uri; # redirigir
}

Ahora reinicia Nginx.

reiniciar systemctl nginx