C贸mo configurar VirtualHosts para HTTPS

ApacheEn 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

Continuar leyendo 芦C贸mo configurar VirtualHosts para HTTPS禄

Generar petici贸n CSR para HTTPS

Apache HTTPSi se quiere montar un servidor que soporte HTTPS, se deber谩 contar un certificado v谩lido para el sitio web. Para ello, una opci贸n es directamente, comprar dicho certificado, en alguno de los m煤ltiples sitios web que ofrecen esta opci贸n, como GoDaddy, los cuales, ya tienen las instrucciones para generar la petici贸n del certificado aqu铆:

Para generar la petici贸n para el certificado, se deber谩n seguir una serie de pasos:

  • Crear el certificado y la petici贸n CSR (Solicitud para Firma del Certificado), ejecutando en el servidor web, el siguiente comando (NOTA: yourdomain puede ser cualquier texto, por ejemplo, para dominio.com podr铆amos usar dominio.key y dominio.csr respectivamente):

openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr

Ej. openssl req -new -newkey rsa:2048 -nodes -keyout www_domain_com.key -out www_domain_com.csr

Continuar leyendo 芦Generar petici贸n CSR para HTTPS禄