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 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.
Ahora, haga clic en el Cerrar 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.