HTTPS Local: Configurando tu entorno de desarrollo en 5 minutos

HTTPS Local: Configurando tu entorno de desarrollo en 5 minutos

Asegurar tu entorno de desarrollo local con HTTPS es esencial para un desarrollo seguro y eficiente. Anteriormente, la configuración de HTTPS local era un proceso sencillo, pero los cambios en Chrome requieren la inclusión de subjectAltName en los certificados, lo que ha complicado ligeramente el proceso. Sin embargo, con una guía detallada, puedes configurar HTTPS en tu entorno local en tan solo 5 minutos.

Este tutorial te guiará a través de la generación de certificados SSL utilizando OpenSSL, un método estándar para la creación de certificados digitales. Este método te permitirá probar tus aplicaciones web en un entorno seguro, replicando las condiciones reales de producción.

Paso 1: Creación del certificado SSL raíz

El primer paso es generar un certificado SSL raíz que actúe como la autoridad de certificación para los certificados de tus dominios locales.

  1. Generar la clave RSA: Inicia OpenSSL y genera una clave RSA-2048, que proporciona un nivel de seguridad adecuado.
    bash
    openssl genrsa -out rootCA.key 2048
  2. Crear el certificado SSL raíz: Utiliza la clave generada para crear el certificado SSL raíz con una validez de 1024 días.
    bash
    openssl req -x509 -new -key rootCA.key -out rootCA.pem -days 1024 -sha256 -subj "/C=US/ST=California/L=Los Angeles/O=My Company/OU=My Unit/CN=My Root CA"
  3. Importar el certificado raíz en el llavero: Importa el certificado SSL raíz en el llavero de tu sistema operativo para que sea reconocido como confiable. En macOS, puedes usar la utilidad Keychain Access.
  4. Marcar como «Siempre de confianza»: En las propiedades del certificado importado, asegúrate de marcar la opción «Siempre de confianza».
LEER:  Obtener la Hora Actual en Python: time.time() - Tutorial Completo

Paso 2: Creación del certificado SSL de dominio

Ahora, crea un certificado SSL específico para el dominio de tu sitio web local.

  1. Crear archivo de configuración (server.csr.cnf): Este archivo contiene la información necesaria para la solicitud de certificado.
    «`bash
    [req]
    defaultbits = 2048
    distinguished
    name = reqdistinguishedname
    x509extensions = v3req
    prompt = no
    [reqdistinguishedname]
    countryName = US
    stateOrProvinceName = California
    localityName = Los Angeles
    organizationName = My Company
    organizationalUnitName = My Unit
    commonName = localhost
    [v3req]
    subjectAltName = @alt
    names

    [alt_names]
    DNS.1 = localhost
    DNS.2 = 127.0.0.1
    «`

  2. Crear archivo de extensión (v3.ext): Este archivo contiene las extensiones del certificado, incluyendo subjectAltName.
    bash
    subjectAltName = DNS:localhost, DNS:127.0.0.1
  3. Generar la clave de certificado: Crea una clave RSA-2048 para el certificado del dominio.
    bash
    openssl genrsa -out server.key 2048
  4. Crear la solicitud de certificado (server.csr): Genera la solicitud de certificado utilizando la clave y el archivo de configuración.
    bash
    openssl req -new -key server.key -out server.csr -config server.csr.cnf
  5. Firmar la solicitud de certificado: Firma la solicitud de certificado con el certificado SSL raíz para generar el certificado de dominio.
    bash
    openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 365 -sha256 -extfile v3.ext

Configurar el servidor web para HTTPS

Con el certificado SSL del dominio generado, puedes configurar tu servidor web para utilizar HTTPS.

  1. Indicar archivos al servidor web: Para el servidor web que uses (Apache, Nginx, etc.), configura los archivos server.key y server.crt como la clave y el certificado, respectivamente.

Ejemplo con Nginx

Si utilizas Nginx, podrías agregar las siguientes líneas a tu archivo de configuración nginx.conf:

«`nginx
server {
listen 443 ssl;
server_name localhost;

ssl_certificate /path/to/server.crt;
ssl_certificate_key /path/to/server.key;

location / {
    root /path/to/your/website;
    index index.html index.php;
}

}
«`

LEER:  Validación de Formularios con jQuery: Guía Completa para Desarrolladores

Conclusión

Siguiendo estos pasos, podrás configurar HTTPS en tu entorno de desarrollo local de forma rápida y sencilla. Al usar OpenSSL, asegúrate de tener en cuenta los cambios en Chrome que requieren el uso de subjectAltName en los certificados. Este paso garantiza la seguridad de tu desarrollo local, permitiéndote probar tus aplicaciones en un entorno similar al de producción.

Recuerda que la seguridad es fundamental en todos los niveles de desarrollo. La configuración de HTTPS local te ayudará a crear aplicaciones web más seguras y confiables.