seguridad para instalar generar crear configurar como certificado apache ssl virtual-hosts

para - instalar certificado ssl apache debian



¿Cómo puedo configurar diferentes certificados SSL para vhosts en Apache? (6)

Tengo un servidor web, que sirve diferentes nombres de dominio, pero solo tiene una dirección IP asignada. Eso funciona bien con los servidores virtuales en Apache. Ahora quiero conexiones con encriptación SSL para los sitios web. ¿Cómo puedo establecer diferentes certificados SSL para los diferentes vhosts?

Usar diferentes IP para los diferentes nombres de host sería una solución, no muy elegante pero posible. Pero quiero saber cómo puedo usar diferentes certificados SSL para diferentes fantasmas. Entonces busco una solución con solo una dirección IP.


AFAIK no es posible configurar diferentes certificados SSL para hosts virtuales basados ​​en nombres usando mod_ssl. Puedes leer la razón detallada aquí . Una alternativa sería usar servidores virtuales basados ​​en IP (lo cual probablemente no sea posible / no sea una solución muy satisfactoria) - solo inserte diferentes directivas SSLCertificateFile, o podría probar este método usando mod_gnutls.


Necesitará una combinación separada de IP: puerto para cada host virtual.

RFC 3546 no es factible todavía. IE solo lo admite cuando se ejecuta en Vista, y la última vez que revisé, Safari tampoco lo gestiona.


Si bien todo lo que DGM menciona es cierto, ha habido algunos intentos de evitar el requisito de una dirección IP única para cada certificado, incluidos mod_gnutls y el uso de extensiones TLS . Hay algunos inconvenientes, pero pueden ser aceptables para usted.


Después de sugerencias en las respuestas dadas y comentarios (especialmente por Martin v. Löwis), busqué en Google y encontré este sitio web sobre RFC 2817 y RFC 3546 . RFC 3546 parece ser una buena solución.


¡Finalmente es posible! Necesita tanto el servidor como el cliente para admitir la Indicación del nombre del servidor (SNI)

Navegadores que admiten SNI:

  • Mozilla Firefox 2.0 o posterior
  • Opera 8.0 o posterior (con TLS 1.1 habilitado)
  • Internet Explorer 7.0 o posterior (en Vista, no en XP)
  • Google Chrome
  • Safari 3.2.1 en Mac OS X 10.5.6

Este documento muestra cómo configurar su servidor: SSL con hosts virtuales usando SNI


ACTUALIZACIÓN: 2013

Parece que SNI finalmente está comenzando a asentarse a medida que los navegadores más antiguos se están cayendo. Aquí están los documentos para Apache SNI y aquí hay un artículo de Wikipedia sobre SNI que incluye un gráfico en los navegadores que lo soportan. En resumen, todos los principales navegadores lo admiten en versiones compatibles; si es importante admitir navegadores antiguos, es posible que deba tenerlo en cuenta.

------ respuesta anterior ------------

Los hosts SSL deben estar vinculados a una combinación única de dirección IP / puerto, por lo que no se puede utilizar el alojamiento virtual (o al menos, solo puede tener un host ssl por dirección IP). Esto se debe al hecho de que https comienza el cifrado antes de que el parámetro Host: se envíe en http y, por lo tanto, no puede determinar qué cifrado usar desde el nombre de host; todo lo que tiene es la dirección IP.

Esto sería tontamente fácil de arreglar si HTTP tuviera un comando TLS para que pudiera iniciar SSL después de preguntar por el nombre de host, pero nadie me preguntó.

Para obtener la respuesta definitiva, consulte http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html#vhosts2