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.

  • Twitter
  • Facebook
  • Meneame
  • email
  • Print
  • PDF
  • RSS

Artículos relacionados (o no):

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


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

  • 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.

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

  • Buen post,

    llevo rato buscando información justo sobre esto y eres el primero que crea un base no muy técnica que me permite empezar a valorar la posibilidad que hace unas horas descartaba. Prefiero esta opción porque la otra me asusta ya que consiste en tener un certificado por dominio y los costes se disparan.

    Hasta donde cuentas entendido. pero como solicitar un certificado que incluya todos los dominios de un servidor?
    y mejor aun, que pasa si al cabo de unos meses añadimos un dominio a ese servidor? se puede actualizar la lista de dominios en el certificado?

    un saludo de otro informático mediocre

    Xavi

  • Hola Xavi

    Me alegro de que te haya resultado útil el post. En general me parece que con el tema del SSL hay mucha confusión y mucha falta de información sobre cómo hacer ciertas cosas. Mucha gente no acaba de entender que el SSL va antes de la negociación HTTP, y al ir antes del Host: no hay forma de saber el dominio y no se puede tener varios certificados por IP. No sé si te das cuenta de que en la opción que dices de tener un certificado por dominio, ¡también necesitarías una IP distinta por dominio! Con un certificado multi-dominio no hace falta, con una única IP vas bien.

    Yo no he llegado a usar un certificado multi-dominio comercial, sólo para uso interno creados y firmados con el script del artículo. Aun así las empresas los ofrecen. P.ej. en GoDaddy (primer resultado que me ha salido en Google):

    https://www.godaddy.com/gdshop/ssl/ssl.asp

    Ahí tienes la opción de “Multiple Domain”, que además sale más barata que los certificados individuales.

    Respecto a qué pasa si en un futuro quieres añadir un dominio más: si el certificado es privado tuyo no hay problema, generas uno nuevo, lo instalas y punto. Pero si es comprado … la verdad es que no lo sé. No sé si alguna empresa te dará la opción de “actualizar” el certificado que ya tienes añadiendo un dominio, o te tocará pedir uno nuevo. Pregúntales.

    Saludos

Leave a Reply




Bear
Creative Commons Attribution-NonCommercial 2.5 Spain
This work is licensed under a Creative Commons Attribution-NonCommercial 2.5 Spain.