Con Apache
1 - Cargar mod_ssl
En primer lugar, simplemente descomente la siguiente línea en el archivo httpd.conf. Para modificar el archivo httpd.conf utilizaremos el editor de texto Nano.
El archivo httpd.conf se encuentra normalmente en: /etc/apache2/httpd.conf. Es recomendable hacer una copia del archivo httpd.conf por si frenamos algo.
mod_ssl
Busque la siguiente línea y descoméntela. En caso de que no esté seguro, los comentarios tienen un símbolo de almohadilla/guión ( # ) al principio - quítelo.
2 - Incluya el archivo httpd-ssl.conf
Mientras aún tenemos abierto el archivo httpd.conf, también necesitamos descomentar la línea que incluye el archivo httpd-ssl.conf.
3 - Añadir VirtualHost a httpd-ssl.conf
El último paso es configurar un nuevo host virtual que esté vinculado al puerto 443 (HTTPS). Ya hay un ejemplo de registro <VirtualHost>
en el archivo httpd-ssl.conf. Te sugiero que primero lo elimines o lo comentes todo para que sólo tengas que pegar el código necesario en la parte inferior del archivo.
El archivo httpd-ssl.conf se encuentra normalmente en: /etc/apache2/conf/httpd-ssl.conf
Tendrás que abrir el archivo con Nano (puedes crear una copia antes por motivos de seguridad):
Añadir VirtualHost
Declarar VirtualHost
El primer paso es declarar un nuevo host virtual utilizando la directiva <VirtualHost>.
VirtualHost
<Host virtual *:443>
Configuración general del host virtual
A continuación, dentro de la directiva <VirtualHost>
, declararemos algunas configuraciones básicas del host:
DocumentRoot
: ruta absoluta a la raíz web del sitioServerName
: el nombre de dominio completo (FQDN)ErrorLog
: ubicación del registro de erroresCustomLog
: ubicación del registro de acceso
Activar SSL
Para habilitar el motor SSL en Apache simplemente añadimos poner la configuración a "on".
Activar SSL
Convertir .pfx en .crt y .key
Un .pfx (Personal Information Exchange Format) es un archivo que permite la transferencia de certificados y sus claves privadas, contiene el archivo de clave pública (archivo de certificado SSL) .crt y el archivo de clave privada asociado .key.
Para configurar nuestro Host Virtual, si tenemos un fichero pfx necesitaremos tratar la clave privada y el certificado.
Para extraer el certificado:
.crt
$ openssl pkcs12 -in [tuarchivo.pfx] -clcerts -nokeys -out [certificado.crt]
Para extraer la llave:
.clave
$ openssl pkcs12 -in [yourfile.pfx] -nocerts -out [keyfile-encrypted.key]
A veces es necesario tener un archivo .key sin encriptar para importar en algunos dispositivos. Probablemente no sea necesario mencionar que debes tener cuidado. Si guardas tu par de claves sin cifrar en algún lugar inseguro, cualquiera puede hacerse con ellas y suplantar, por ejemplo, a un sitio web o a una persona de tu empresa. Así que ten mucho cuidado cuando se trate de claves privadas.
.clave
openssl rsa -in [archivo-clave-cifrado.llave] -out [archivo-clave-descifrado.llave]
Especifique el certificado y la clave privada
Utilizando las rutas que he descrito al principio, indicaremos al motor SSL la ubicación del archivo de solicitud de certificado (CSR) y la clave privada del host (.key).
4 - Pruebe la configuración y reinicie Apache
Listo. Ahora está sirviendo su sitio web sobre HTTPS usando Apache.
Información relacionada: https://blackdiezone.net/2019/09/como-convertir-un-pfx-a-un-archivo-separado-key-crt/
Artículos relacionados:
Cómo instalar/actualizar el certificado SSL en el servidor donde está alojado neoCatalog
Acceder a neoCatalog desde una red externa (acceso a Internet)