Cómo Generar una CSR y Configurar un Certificado SSL en Nginx usando Namecheap
En este artículo, te guiaré paso a paso para generar una CSR (Certificate Signing Request), reemitir un certificado SSL en Namecheap, y configurarlo en un servidor Nginx. Este proceso puede parecer complicado al principio, pero con la guía adecuada, lo podrás hacer sin problemas.
¿Qué es una CSR y por qué la necesitas?
Una CSR es un bloque de texto codificado que contiene información sobre tu dominio y que se utiliza para solicitar un certificado SSL. Al generar una CSR, también se crea una clave privada que es fundamental para la instalación del certificado SSL en tu servidor. La CSR se envía a la autoridad certificadora (CA), en este caso, Namecheap, para obtener el certificado SSL.
Paso 1: Generar la Clave Privada y la CSR en el Servidor
El primer paso es generar la clave privada y la CSR en tu servidor, utilizando OpenSSL. Esto es lo que necesitas hacer:
Conéctate a tu servidor mediante SSH:ssh usuario@tu-ip-del-servidor
Crea un directorio para almacenar los archivos SSL:mkdir -p /etc/nginx/ssl cd /etc/nginx/ssl
Genera una clave privada RSA de 2048 bits:openssl genrsa -out example.com.key 2048Este comando crea una clave privada y la guarda en el archivo example.com.key.
Genera la CSR usando la clave privada:openssl req -new -key example.com.key -out example.com.csr
Durante este proceso, se te solicitará ingresar información como el país, la ciudad y el nombre de la organización. Asegúrate de proporcionar la información correcta:
- Country Name (2 letter code): US (por ejemplo, para Estados Unidos).
- State or Province Name: California (escribe el nombre completo del estado).
- Locality Name: San Francisco (nombre completo de la ciudad).
- Organization Name: Example Company LLC (puede ser el nombre de la empresa o "NA" para certificados de validación de dominio).
- Organizational Unit Name: NA (puedes dejarlo en blanco si no aplica).
- Common Name: example.com (o www.example.com si deseas incluir www).
Paso 2: Reemitir el Certificado en Namecheap
Una vez que hayas generado la CSR, es momento de reemitir tu certificado en Namecheap:
Inicia sesión en tu cuenta de Namecheap.
Ve a la sección de Certificados SSL y selecciona el certificado que deseas reemitir.
Haz clic en la opción de Reissue (Reemisión).
Copia el contenido de la CSR que generaste:cat /etc/nginx/ssl/example.com.csrPega el contenido en el formulario de Namecheap.
Sigue las instrucciones de Namecheap para completar la reemisión. La CA verificará la información y te proporcionará un nuevo certificado.
Paso 3: Descargar los Archivos del Certificado SSL
Cuando la reemisión esté completa, Namecheap te proporcionará dos archivos:
- Certificado (.crt): El certificado para tu dominio.
- Cadena de certificados (.ca-bundle): Los certificados intermedios que completan la cadena de confianza.
Guarda estos archivos en el directorio de SSL de tu servidor:
mv /ruta/al/certificado/example.com.crt /etc/nginx/ssl/ mv /ruta/al/certificado/example.com.ca-bundle /etc/nginx/ssl/
Paso 4: Combinar los Archivos para Nginx
Nginx requiere que combines el certificado y la cadena de certificados en un solo archivo .pem:
cat example.com.crt example.com.ca-bundle > example.com.pem
Paso 5: Configurar Nginx para Usar el Certificado SSL
Ahora es momento de configurar Nginx para que use el certificado SSL:
Abre la configuración de tu sitio en Nginx:sudo nano /etc/nginx/sites-available/example.com
Asegúrate de que el bloque de configuración de tu dominio se vea así:server { listen 80; server_name example.com www.example.com; return 301 https://$host$request_uri; # Redirige todo a HTTPS } server { listen 443 ssl; server_name example.com www.example.com; ssl_certificate /etc/nginx/ssl/example.com.pem; ssl_certificate_key /etc/nginx/ssl/example.com.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; # Tu configuración de ubicación (location) aquí location / { proxy_pass http://localhost:3000; # Ajusta esto según tu aplicación } }
Guarda los cambios y verifica la configuración:sudo nginx -t
Si la configuración es correcta, reinicia Nginx:sudo systemctl restart nginx
Paso 6: Verificar la Instalación
Abre https://example.com en tu navegador y asegúrate de que el certificado esté activo.
Usa herramientas como SSL Labs' SSL Test para verificar que la configuración esté correcta y que no haya problemas de seguridad.
Resumen
En este artículo, hemos cubierto cómo generar una CSR, reemitir un certificado SSL en Namecheap y configurarlo en un servidor Nginx. Siguiendo estos pasos, podrás asegurar tu sitio web con HTTPS y mejorar la seguridad de las conexiones de tus usuarios.
Conclusión
Configurar un certificado SSL puede ser un proceso complicado si no estás familiarizado con los pasos. Sin embargo, siguiendo una guía detallada como esta, podrás completar el proceso con éxito. ¡Espero que esta guía te haya sido útil!