En Apache, usamos los VirtualHosts para poder definir diferentes proyectos web, cada uno con su propio dominio (o dominios), escuchando tras el mismo puerto e IP. 脡sto podemos hacerlo para conexiones HTTP normales, pero antiguamente no se pod铆a para HTTPS, puesto que la conexi贸n ven铆a cifrada y por tanto Apache no pod铆a saber a qu茅 dominio se quer铆a acceder.
Al parecer, desde el 2006 se incorpor贸 una extensi贸n que le permit铆a al cliente (el navegador del usuario) enviar el dominio a consultar en la primera petici贸n, antes de iniciar la transferencia cifrada de datos, permiti茅ndo as铆 al servidor poder usar el mecanismo de VirtualHosts para tener varios sitios web HTTPS escuchando por el mismo puerto (t铆picamente el 443).
Requisitos
Seguramente nuestro servidor Linux con Apache ya tenga instalados los requisitos para funcionar, pero para asegurarnos, bastar谩 con confirmar que tenemos:
- openSSL 0.9.8f o posterior instalado
- mod_ssl instalado en Apache
En mi ejemplo, un聽Fedora release 13 (Goddard) con Apache 2.2.15, lo he confirmado as铆:
[root@myServer]# openssl version
OpenSSL 1.0.0d-fips 8 Feb 2011[root@myServer]#聽httpd -M | grep -i ssl
ssl_module (shared)[root@myServer]#聽grep -i ssl /var/log/httpd/error_log*
Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 mod_ssl/2.2.15 OpenSSL/1.0.0-fips mod_wsgi/3.4 Python/2.7.5 configured — resuming normal operations
Si no tienes openssl ni mod_ssl, puedes instalarlo con yum y posteriormente reiniciar Apache:
[root@myServer]# yum install openssl mod_ssl
[root@myServer]# /etc/init.d/httpd restart