GNU/Linux >> Tutoriales Linux >  >> Ubuntu

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

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

  • Un sistema que ejecuta Ubuntu 20.04 Desktop.
  • Se configura una contraseña raíz en el servidor.

Cómo empezar

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. Puede 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 desde 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 de 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 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

Verificar SSL para su dominio

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

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

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.


Ubuntu
  1. Cómo crear imágenes de Docker con un Dockerfile en Ubuntu 16.04 LTS

  2. Cómo instalar Drupal 8 con Nginx, PHP-FPM y SSL en Ubuntu 15.10

  3. Cómo instalar OpenCart 2 con Nginx y SSL en Ubuntu 15.10

  4. Cómo instalar Nginx con Google PageSpeed ​​en Ubuntu 20.04

  5. Cómo instalar Kubernetes con Minikube en Ubuntu 20.04

Cómo instalar Moodle con Nginx y Lets Encrypt SSL en Ubuntu 20.04

Cómo instalar MediaWiki con Nginx y Lets Encrypt SSL en Ubuntu 20.04

Cómo instalar certificados SSL de Lets Encrypt en Ubuntu 18.04

Cómo probar las API REST con Postman en Ubuntu

Cómo crear plantillas de sistema operativo Linux con KVM en Ubuntu 20.04

Cómo instalar Let's Encrypt SSL en Ubuntu con Apache