How to serve several domains with HTTPS and a single IP address

  • english
  • spanish

Some days ago, a coworker posted on his blog an article about how to serve several HTTPS sites from a single IP address using TLS. I told him that it was easier to use a single X.509 certificate for all those domains with the subjectAltName attribute, and he dared me to write a howto about it.

I’ve done something better: I’ve modified easy-rsa so that it can generate multi-domain certs.

Enviar a:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • BarraPunto
  • Meneame
  • Slashdot
  • Technorati
  • YahooMyWeb

Artículos relacionados (o no):

3 Responses to “How to serve several domains with HTTPS and a single IP address”


  1. 1 Rabine

    No entiendo una mierda de nada de lo que dices en este post. :(
    Mañana echo mi CV en un McDonalds.

  2. 2 bisente

    De eso nada, entonces es que me he explicado como el culo. :)

    - Para poder montar una página con HTTPS, primero hay que generar un certificado X.509 para el cifrado.
    - Ese certificado va asociado a un dominio.
    - El navegador comprueba el dominio de la URL que tu le has pedido con el del certificado, y si no coincide es cuando te salta la alerta de “ésta página es más falsa que un duro de tres pesetas” (también comprueba que no haya caducado y que vaya firmado por una autoridad de certificación conocida)
    - Si con el Apache y una única IP configuras varios hosts virtuales, cada uno con un dominio y un certificado distinto, el chiringuito no funciona porque Apache usa siempre el mismo certificado (el primero, supongo) independientemente del dominio que le hayas pedido. Así que la comprobación del punto anterior peta (en todos menos uno que da la casualidad que coincide)
    - Esto es así porque el cifrado se realiza nada más conectarse el navegador al puerto 443 del servidor, antes de que realmente le pida “oye, amiguete, que quiero http://www.pepito.com/cosa.html“, con lo que Apache no sabe aún si tiene que usar el certificado de http://www.pepito.com o el de http://www.juanita.net.
    - Una solución es, en vez de crear un certificado por dominio (que luego Apache no va a poder usar en condiciones) usar un único certificado que incluya a todos los dominios de ese servidor.

  3. 3 Rabine

    Me conmueven tus palabras, pero tengo que aceptarlo, soy un informático mediocre. :P

Leave a Reply




Creative Commons Attribution-NonCommercial 2.5 Spain
Creative Commons Attribution-NonCommercial 2.5 Spain