Mkcert
Mkcert permite generar certificados SSL/TLS válidos para entornos de desarrollo local. La herramienta crea una Autoridad de Certificación (CA) propia, la registra en los almacenes de confianza del sistema y del navegador, y emite certificados firmados por esa CA para los nombres o direcciones IP que necesites (como localhost, 127.0.0.1, 192.168.x.x o dominios personalizados como dev.local).
Instalación
Section titled “Instalación”-
Instalar mkcert:
Dependiendo de tu sistema operativo, ejecuta el comando correspondiente:
En macOS con Homebrew:
Terminal window brew install mkcertEn Linux con Homebrew:
Terminal window brew install mkcertEn Windows con Scoop:
scoop bucket add extrasscoop install mkcertEn Windows con Chocolatey:
choco install mkcert -
Instalar la CA local en el sistema:
Ejecuta el siguiente comando para crear e instalar la Autoridad de Certificación local en los almacenes de confianza del sistema y del navegador:
Terminal window mkcert -installEste paso solo es necesario realizarlo una vez. Mkcert registrará la CA raíz en el almacén del sistema, Firefox (si está disponible) y Java (si se detecta
JAVA_HOME).
Generar certificados
Section titled “Generar certificados”-
Crear un certificado para los dominios necesarios:
Especifica los nombres de host o direcciones IP para los que necesitas el certificado:
Terminal window mkcert localhost 127.0.0.1 ::1Esto generará dos archivos en el directorio actual:
localhost+2.pem(certificado) ylocalhost+2-key.pem(clave privada). -
Usar dominios personalizados:
También puedes generar certificados para dominios personalizados o IPs de red local:
Terminal window mkcert miapp.local 192.168.1.50 -
Usar los certificados en un contenedor Docker:
Copia los archivos generados al contenedor y configura el servidor para utilizarlos. Por ejemplo, con Nginx:
FROM nginx:alpineCOPY localhost+2.pem /etc/nginx/ssl/cert.pemCOPY localhost+2-key.pem /etc/nginx/ssl/key.pemCOPY nginx.conf /etc/nginx/conf.d/default.confEXPOSE 443Configuración de Nginx correspondiente (
nginx.conf):server {listen 443 ssl;server_name localhost;ssl_certificate /etc/nginx/ssl/cert.pem;ssl_certificate_key /etc/nginx/ssl/key.pem;location / {root /usr/share/nginx/html;}}Construye y ejecuta el contenedor:
Terminal window docker build -t mi-app-ssl .docker run -p 443:443 mi-app-ssl
Comandos útiles
Section titled “Comandos útiles”Consultar dónde se almacena la CA local:
mkcert -CAROOTDesinstalar la CA local del sistema:
mkcert -uninstall