Cómo crear certificados SSL de confianza local con mkcert en Ubuntu 20.04

P√°gina web segura de Nginx

Mkcert es una herramienta gratuita, sencilla y muy √ļtil que le permite crear un certificado de confianza local sin comprarlo a la CA real. Los desarrolladores suelen trabajar en el sistema local y siempre es imposible utilizar el certificado de confianza de CA en localhost. Mkcert le permite administrar sus propios certificados sin problemas.

En esta publicación, le mostraremos cómo crear un certificado SSL confiable para desarrollo local usando Mkcert en Ubuntu 20.04.

requisitos previos

  • Un sistema que ejecuta Ubuntu 20.04 Desktop.
  • Una contrase√Īa de root est√° configurada en el servidor.

Empezando

Primero, actualice los paquetes del sistema a la versión actualizada ejecutando el siguiente comando:

apt-get update -y

Una vez que todos los paquetes estén actualizados, puede continuar con el siguiente paso.

Instalar Mkcert

Antes de instalar la utilidad Mkcert, deber√° instalar los paquetes necesarios en su servidor. Puedes instalarlo con el siguiente comando:

apt-get install wget libnss3-tools

Una vez que todos los paquetes est√©n instalados, descargue la √ļltima versi√≥n de Mkcert de Github.

wget https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64

Después de descargar Mkcert, mueva el binario descargado a la ruta del sistema:

mv mkcert-v1.4.3-linux-amd64 /usr/bin/mkcert

A continuación, establezca el permiso de ejecución en mkcert:

chmod +x /usr/bin/mkcert

A continuación, verifique la versión de Mkcert con el siguiente comando:

mkcert --version

Debería ver el siguiente resultado:

v1.4.3

Generar CA local

Ahora, ejecute el siguiente comando para generar un certificado de CA local:

mkcert -install

Debería ver el siguiente resultado:

Created a new local CA ????
The local CA is now installed in the system trust store! ??
The local CA is now installed in the Firefox and/or Chrome/Chromium trust store (requires browser restart)! ????

Puede verificar la ruta del certificado CA usando el siguiente comando:

mkcert -CAROOT

Debería ver el siguiente resultado:

/root/.local/share/mkcert

Generar un certificado para el sitio web local

A continuación, puede generar el certificado y el archivo de clave para su sitio web alojado localmente con el siguiente comando:

mkcert app.example.com localhost 127.0.0.1 ::1

Debería ver el siguiente resultado:

Created a new certificate valid for the following names ????
 - "app.example.com"
 - "localhost"
 - "127.0.0.1"
 - "::1"

The certificate is at "./app.example.com+3.pem" and the key at "./app.example.com+3-key.pem" ?

It will expire on 1 November 2023 ????

Configurar Nginx para usar el certificado generado

A continuación, deberá configurar el servidor web Nginx para utilizar los certificados generados.

Primero, copie los archivos de certificado generados en el directorio /etc/ssl/:

cp app.example.com+3* /etc/ssl/

A continuación, establezca la propiedad adecuada en el directorio raíz web de Nginx:

chown -R www-data:www-data /var/www/html/

A continuación, cree un archivo de configuración de host virtual Nginx con el siguiente comando:

nano /etc/nginx/conf.d/app.conf

Agregue las siguientes líneas:

server {
   listen 80;
   server_name app.example.com;
   root /var/www/html;
}

server {
   listen *:443 ssl;
   root /var/www/html;
   server_name app.example.com;
   ssl_certificate /etc/ssl/app.example.com+3.pem; 
   ssl_certificate_key /etc/ssl/app.example.com+3-key.pem;
}

Guarde y cierre el archivo cuando haya terminado, luego verifique el Nginx para detectar cualquier error de sintaxis:

nginx -t

Debería ver el siguiente resultado:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

A continuación, reinicie el servicio Nginx para aplicar los cambios:

systemctl restart nginx

A continuación, edite el archivo /etc/hosts y vincule su app.example.com a la dirección IP de su sistema:

nano /etc/hosts

Agregue las siguientes líneas:

your-server-ip app.example.com

Verifique SSL para su dominio

Ahora, abra su navegador web y escriba la URL https://app.ejemplo.com. Debería ver que su dominio está protegido con Mkcert.

P√°gina web segura de Nginx

Ahora, haga clic en el Cerrar icono. Debería ver la información sobre su certificado en la siguiente página:

Detalles del certificado SSL

Conclusión

¡Felicidades! Ha instalado correctamente Mkcert y ha creado un certificado de CA de confianza para su desarrollo local. Recomendaría usar Mkcert solo para el entorno de desarrollo. No se recomienda para el entorno de producción.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *