Múltiples sitios web con SSL una aplicación

Múltiples sitios web con SSL una aplicación

He escrito una aplicación ASP.NET MVC que permite al usuario especificar su propio dominio personalizado. Tengo IIS configurado para enviar todas las solicitudes al sitio web predeterminado, por lo que no necesito usar encabezados de host. Todo funciona perfectamente. El único problema es SSL.

Sé que esta pregunta se ha hecho varias veces en muchos foros, pero las respuestas generalmente entran en conflicto o hablan en términos absolutos como (esto no se puede hacer). Esa no es realmente una opción para mí. Lo que estoy buscando aquí son algunas opciones; Estoy abierto a lo poco convencional :).

He visto algunas respuestas constructivas que sugieren utilizar el servidor ISA como proxy SSL. ¿Alguien sabe más sobre esto? ¿O alguien configuró esto y tuvo éxito?

Básicamente, quiero brindarles a mis usuarios una forma de solicitar un CSR desde la aplicación, comprar y descargar un certificado SSL, regresar a mi aplicación y cargar el certificado emitido por una empresa de certificación autorizada.

Me gustaría hacer esto sin tener que proporcionar direcciones IP independientes a los clientes que quieran utilizar un dominio personalizado y SSL en su sitio. Esto se debe simplemente a que mi aplicación está alojada en la nube de Amazon y no están interesados ​​en darme un gran bloque de direcciones IP.

Mi aplicación se puede alojar en IIS6 o IIS7.

SOLUCIÓN: Gracias por toda su ayuda con esto chicos. Ciertamente no entendí este problema tan bien como lo hago ahora. Creo que mi solución por ahora será generar un certificado comodín y obligar a mis clientes a usar clientname.someshareddomain.com si quieren una conexión segura. Para los clientes que simplemente no están de acuerdo con eso, probablemente proporcionaré otra dirección IP elástica a través de una llamada API a los servicios web de Amazon, crearé un nuevo sitio web en IIS y lo apuntaré a la carpeta raíz de mi aplicación, y luego generaré programáticamente una CSR a partir de eso. nuevo sitio. Tendré que llegar a algún tipo de acuerdo con Amazon para que me proporcione un bloque decente de direcciones IP.

Respuesta1

Lamento mucho que no te guste la respuesta "no puedes hacer esto", pero no puedes hacer lo que quieres. La tecnología simplemente no permite que esto funcione como usted desea.

Este es el por qué.

El protocolo HTTP permite que más de un servidor comparta una dirección IP. Lo hace a través del encabezado del host HTTP/1.1:

Host: servername.example.com

Se produce el protocolo de enlace SSLantesocurre el protocolo de enlace HTTP. Esto significa que el servidor no tiene idea de qué certificado presentar al cliente en función del servidor que desea el cliente.

Por lo tanto, intente todo lo que quiera, pero no se pueden utilizar varios certificados en una sola dirección IP. No importa cuánto lo intentes, ni cuánto esta no sea una opción para ti.

Respuesta2

Como dijo Michael, si algo es imposible, patear y hacer pucheros no cambia las cosas.

Poner certificados SSL separados en direcciones IP separadas no es un problema, tecnológicamente hablando; es solo una cuestión de aprovisionamiento (que es una cuestión simple de programación) y de tener un proveedor de red que comprenda las necesidades de las empresas de mayor escala y esté dispuesto a preasignar un bloque de direcciones de tamaño decente para dominios SSL.

Sin embargo, existe otra opción, conocida como "Indicación del nombre del servidor", por lo que el navegador puede decirle al servidor con qué vhost quiere hablar en el momento de la negociación SSL, para que el servidor pueda presentar el certificado correcto. Desafortunadamente, el soporte para esto no es universal; según la página de Wikipedia anterior, ni IIS 6 Ni 7 puede manejarlo en el lado del servidor, y necesitas ejecutar Vista para usarlo con IE en el lado del cliente (Firefox, Opera y Chrome lo han soportado por un tiempo).

Entonces, si está dispuesto a cambiar a un servidor web decente y alejar cualquier parte de su base de usuarios que todavía usa navegadores obsoletos en sistemas operativos Microsoft más antiguos, entonces puede usarlo. Sin embargo, nadie parece querer molestar a la tía Tillie que ejecuta IE 5.5 en Windows 98...

Respuesta3

Si el problema es proporcionar sesiones seguras (y no que cada cliente tenga su propio certificado), ¿por qué no eliminar la carga y la complejidad utilizando un certificado SSL comodín?

información relacionada