Uso de certificados SSL de terceros en ServBay
Al simular un entorno de producción para desarrollo o pruebas locales, utilizar un certificado SSL emitido por una autoridad de certificación (CA) de confianza garantiza que tu sitio web sea accesible de forma segura mediante HTTPS. Esto es fundamental para probar funcionalidades que dependen de HTTPS o para asegurar la máxima similitud entre el entorno local y el de producción. En este artículo se explica detalladamente cómo configurar un certificado SSL emitido por terceros en el entorno local de desarrollo web de ServBay.
WARNING
Ten en cuenta que los certificados SSL emitidos por CA de terceros suelen admitir únicamente sufijos de dominio estándar (como .com
, .org
, .net
, .cn
, etc.), y no permiten sufijos personalizados no estándar (como .local
, .test
, .demo
, etc.), ya que estos dominios no pueden ser verificados públicamente. Si tu dominio local utiliza un sufijo personalizado, se recomienda emplear la función ServBay User CA o ServBay Public CA integrada para generar certificados SSL locales confiables.
Escenarios de uso
- Simulación de entorno de producción: Replica con precisión la configuración HTTPS de producción para probar el comportamiento de tu sitio web bajo HTTPS.
- Pruebas de funciones que dependen de HTTPS: Realiza pruebas de APIs o funcionalidades de navegador que requieren un contexto seguro, como Service Workers, Web Crypto API, Geolocalización, etc.
- Desarrollo de API local: Configura HTTPS para APIs backend en ejecución local, facilitando llamadas seguras desde el frontend.
Requisitos previos
Antes de comenzar, asegúrate de cumplir con estos requisitos:
- ServBay está instalado y en ejecución en macOS.
- Tienes nociones básicas sobre el uso de la terminal y comandos.
- El sistema tiene la utilidad OpenSSL instalada (macOS la incluye por defecto).
Paso 1: Solicitar un certificado SSL de un tercero
Primero, necesitas solicitar un certificado SSL de una CA de terceros confiable, como Let's Encrypt, DigiCert, GlobalSign, Sectigo, entre otras. En esta sección se explica cómo generar una Solicitud de Firma de Certificado (CSR), paso clave para la obtención del certificado.
Generar la clave privada (Private Key)
La clave privada es primordial para que tu servidor descifre el tráfico cifrado por SSL, por lo que debe guardarse de forma segura y nunca compartirse. Ejecuta el siguiente comando de OpenSSL en la terminal para generar una clave RSA:
shopenssl genpkey -algorithm RSA -out servbay.demo.key -pkeyopt rsa_keygen_bits:2048
1openssl genpkey
: Comando OpenSSL para generar claves privadas.-algorithm RSA
: Especifica el algoritmo RSA para la clave.-out servbay.demo.key
: Define el nombre del archivo de salida para la clave privada.-pkeyopt rsa_keygen_bits:2048
: Indica una longitud de clave RSA de 2048 bits, considerado actualmente como el mínimo recomendado para un nivel de seguridad adecuado.
Generar la Solicitud de Firma de Certificado (CSR)
El CSR es un archivo que incluye tu clave pública y los datos necesarios para la solicitud del certificado. Este archivo debe ser enviado a la CA. Utiliza la clave privada generada en el paso anterior para crear el CSR:
shopenssl req -new -key servbay.demo.key -out servbay.demo.csr
1openssl req
: Comando OpenSSL para manejar solicitudes de firma de certificado.-new
: Indica la creación de un nuevo CSR.-key servbay.demo.key
: Especifica el archivo de clave privada a utilizar en la firma.-out servbay.demo.csr
: Nombre del archivo CSR de salida.
Al ejecutar el comando, el sistema solicitará que ingreses una serie de datos que completarán el CSR. Completa la información acorde a tu situación real o según los requisitos de la CA. Ejemplo de entradas (con sus indicaciones):
Country Name (2 letter code) [AU]:CN # Código de país, por ejemplo CN (China), US (USA) State or Province Name (full name) [Some-State]:Hong Kong # Estado o provincia Locality Name (eg, city) []:Kowloon # Ciudad Organization Name (eg, company) [Internet Widgits Pty Ltd]:ServBay # Nombre de la organización o empresa Organizational Unit Name (eg, section) []:Development # Unidad organizativa (opcional) Common Name (e.g. server FQDN or YOUR name) []:servbay.demo # **Muy importante: ingresa el FQDN exacto para el que solicitas el certificado.** Email Address []:[email protected] # Email de contacto (opcional) Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: # Contraseña de desafío (generalmente dejar vacío) An optional company name []: # Nombre opcional de la empresa (generalmente dejar vacío)
1
2
3
4
5
6
7
8
9
10
11
12Es crucial que el campo
Common Name
corresponda exactamente al dominio que planeas usar en ServBay, por ejemplo,servbay.demo
. Si necesitas solicitar un certificado para varios dominios (SAN, multidominio), la CA normalmente proporciona herramientas o instrucciones para especificarlos, aunque el proceso básico de generación del CSR es similar.Enviar el CSR y obtener el certificado
Copia o sube el archivo
servbay.demo.csr
al sitio web de la CA elegida, y sigue el procedimiento de verificación de propiedad de dominio (normalmente vía registro DNS, archivo HTTP o verificación por email). Tras validar la solicitud, la CA emitirá los archivos de certificado. Usualmente recibirás:- Tu certificado principal (por ejemplo,
servbay.demo.crt
oservbay.demo.pem
). - Uno o varios certificados intermedios (para formar la cadena de certificados, por ejemplo,
intermediate.crt
,ca-bundle.crt
). - Certificado raíz (no es necesario instalarlo, pues los sistemas y navegadores ya incluyen los raíces de confianza).
- Tu certificado principal (por ejemplo,
Paso 2: Configurar un certificado SSL de terceros en ServBay
Una vez recibidos los archivos de certificado por parte de la CA, es necesario importarlos y configurarlos en ServBay para que tu sitio web pueda emplear HTTPS.
Se recomienda almacenar todos los certificados y claves personalizados en /Applications/ServBay/ssl/import/tls-certs/
para una gestión centralizada.
Mueve los archivos de certificado y clave privada al directorio indicado
Transfiere tu archivo de clave privada (
servbay.demo.key
), el certificado principal (servbay.demo.crt
) y todos los certificados intermedios (por ejemplo,intermediate.crt
) al directorio de importación de ServBay:shmv servbay.demo.key /Applications/ServBay/ssl/import/tls-certs/ mv servbay.demo.crt /Applications/ServBay/ssl/import/tls-certs/ # Si existen archivos de la cadena intermedia, muévelos también mv intermediate.crt /Applications/ServBay/ssl/import/tls-certs/ # Si hay otros certificados intermedios, muévelos igualmente # mv another_intermediate.crt /Applications/ServBay/ssl/import/tls-certs/
1
2
3
4
5
6Combina los certificados intermedios en el archivo principal
Para asegurar que el navegador verifique correctamente la integridad de la cadena de certificados, concatena los certificados intermedios al final del archivo principal del certificado. El orden correcto normalmente es: primero tu certificado, luego los intermedios (la CA suele indicar el orden). No es necesario añadir el certificado raíz.
Por ejemplo, si el intermedio es
intermediate.crt
:shcat intermediate.crt >> /Applications/ServBay/ssl/import/tls-certs/servbay.demo.crt
1Si tienes varios intermedios, anéxalos según el orden proporcionado por la CA, por ejemplo,
intermediate1.crt
seguido deintermediate2.crt
:shcat intermediate1.crt >> /Applications/ServBay/ssl/import/tls-certs/servbay.demo.crt cat intermediate2.crt >> /Applications/ServBay/ssl/import/tls-certs/servbay.demo.crt
1
2Tras la combinación, el archivo
servbay.demo.crt
debería incluir el certificado principal seguido de toda la cadena intermedia.Abre el panel de administración de ServBay
Inicia la aplicación de ServBay y localiza su icono en la barra de menú o en el Dock. Haz clic para abrir el panel de administración.
Agrega o edita un sitio web
Desde la barra lateral izquierda del panel, selecciona
Sitios
.- Si vas a crear un nuevo sitio, haz clic en el botón
+
en la esquina superior derecha. - Si vas a configurar el certificado para un sitio existente, selecciónalo y pulsa el botón de editar (icono de lápiz).
- Si vas a crear un nuevo sitio, haz clic en el botón
Configura el certificado SSL
En la sección de configuración SSL del sitio, verás diferentes métodos para importar certificados. Elige la opción
Custom
(personalizado).- Archivo de clave privada (Certificate Key File): Haz clic en el botón de examinar y navega hasta
/Applications/ServBay/ssl/import/tls-certs/
, seleccionando tu archivo de clave privada, por ejemplo,servbay.demo.key
. - Archivo de certificado (Certificate File): Haz clic en examinar y selecciona el archivo de certificado principal, por ejemplo,
servbay.demo.crt
, que ya debe incluir los certificados intermedios concatenados.
(Nota: la ruta de la imagen es de ejemplo, deberías actualizarla según corresponda en la documentación oficial de ServBay)
- Archivo de clave privada (Certificate Key File): Haz clic en el botón de examinar y navega hasta
Define el dominio y el directorio raíz del sitio
Asegúrate de que el campo
Domain
(dominio) contenga exactamente el dominio utilizado en la solicitud del certificado (p. ej.,servbay.demo
). Configura también laDocument Root
(raíz del sitio), por ejemplo,/Applications/ServBay/www/servbay.demo
.Guarda y aplica la configuración
Al finalizar la configuración, haz clic en Guardar. ServBay te solicitará confirmar y reiniciará el servidor web correspondiente (Caddy, Nginx o Apache) para aplicar los cambios.
Verificación de la configuración
Una vez completada la configuración, intenta acceder a tu sitio en el navegador (por ejemplo, https://servbay.demo
). Si todo está en orden, deberías ver el icono de candado en la barra de direcciones. Al hacer clic podrás ver detalles del certificado, confirmando que está emitido por la CA externa y que la cadena está completa.
Si te encuentras con problemas, revisa lo siguiente:
- El dominio coincide exactamente con el Common Name o los SAN del certificado.
- Las rutas de los archivos de clave y certificado son correctas.
- El archivo de certificado incluye toda la cadena intermedia en el orden correcto.
- La configuración del sitio en ServBay está guardada y aplicada.
- El sistema confía en la CA raíz emisora del certificado (los navegadores y sistemas modernos suelen confiar en las CA reconocidas).
Consideraciones
- Coincidencia de dominio: El certificado debe coincidir exactamente con el dominio configurado en ServBay (incluyendo subdominios, si se trata de un wildcard).
- Validez del certificado: Los certificados de terceros tienen fecha de expiración. Recuerda renovarlos y actualizar los archivos en ServBay antes del vencimiento.
- Seguridad de la clave privada: El archivo
.key
es extremadamente sensible. Protégelo y evita cualquier filtración. - Opciones adicionales de SSL en ServBay: ServBay también ofrece opciones integradas y fáciles de usar, como:
- ServBay User CA / Public CA: Para generar certificados locales confiables, compatibles con cualquier sufijo de dominio.
- ACME (Let's Encrypt): Para dominios estándar, ServBay puede integrar un cliente ACME que gestione la obtención y renovación automática del certificado. El método descrito aquí está pensado para quienes ya disponen de certificados de terceros por otros medios.
Preguntas frecuentes (FAQ)
P1: He recibido un archivo de certificado en formato .pfx
o .p12
, ¿cómo puedo usarlo en ServBay?
R1: Los archivos .pfx
o .p12
suelen contener tanto la clave privada como la cadena de certificados. Debes usar OpenSSL para extraer por separado la clave privada (.key
) y el certificado (.crt
). Por ejemplo:
openssl pkcs12 -in your_certificate.pfx -nocerts -out your_private_key.key -nodes
openssl pkcs12 -in your_certificate.pfx -clcerts -nokeys -out your_certificate.crt
2
Tras extraerlos, es posible que también debas conseguir el archivo de cadena intermedia (la CA lo suele proveer) y combinarlo con el certificado como se describe en el Paso 2.
P2: He seguido los pasos pero el navegador aún muestra advertencias de "conexión no segura", ¿qué debo revisar?
R2: Comprueba lo siguiente:
- Coincidencia de dominio: El dominio que visitas coincide con el del certificado.
- Cadena de certificados completa: El archivo
.crt
incluye todos los intermedios en el orden correcto. Puedes verificarlo con herramientas SSL online. - Reinicio de ServBay: Confirma que ServBay haya guardado la configuración y reiniciado los servidores web.
- Caché del navegador: Borra la caché o prueba en modo incógnito.
- Confianza del sistema: Asegúrate de que el sistema confía en la CA raíz emisora.
Resumen
Siguiendo estos pasos, podrás configurar y utilizar certificados SSL de terceros en tu entorno de desarrollo local con ServBay. Esto te permitirá simular con mayor fidelidad una configuración HTTPS de producción, optimizando el desarrollo y pruebas locales. Aunque ServBay ofrece opciones rápidas de configuración SSL (como ACME y ServBay CAs), dominar el proceso de importación personalizada es muy útil para gestionar necesidades específicas o migrar certificados existentes.