2009-05-27 11 views
18

Actualmente necesito tener 2 subdominios bajo el mismo dominio bajo SSL.
Ambos subdominios (WWW y afiliado) están en el mismo servidor IIS, bajo el mismo IP, y cada uno ha especificado un valor de encabezado de host (www.mydomain.com y affiliate.mydomain.com)Varios subdominios con SSL bajo IIS

El primer subdominio (www), que es el predeterminado, funciona muy bien, con y sin SSL.
El segundo subdominio funciona perfecto bajo HTTP.

El problema es que me acabo de comprar e instalar el certificado SSL para el subdominio de afiliados, y al momento de https://affiliate.mydomain.com, se redirecciona a http://www.mydomain.com

estoy adivinando el problema radica en el hecho de que pueda ¿Especifica un valor de encabezado de host para SSL? (El diálogo donde normalmente configuro el valor del encabezado del host no tiene esa opción en la parte inferior, dedicada a SSL).

¿Qué puedo hacer al respecto? ¿Debo tener cada subdominio en una IP separada? ¿No es factible?

Gracias! Daniel

Respuesta

16

"Estoy adivinando el problema radica en el hecho de que no puedo especificar un valor de encabezado de host para SSL"

acertaste. Necesitará dos direcciones IP.

+0

Parece que en las versiones más nuevas de IIS puede usar una dirección IP: https://serverfault.com/a/566433/381304 –

5

No estoy seguro de qué servidor web está ejecutando, pero en IIS 6 en Windows Server 2003, puede usar encabezados de host para sitios SSL, lo que les permite estar en la misma dirección IP.

http:// www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/596b9108-b1a7-494d-885d-f8941b07554c.mspx?mfr=true

EDIT: Esto sólo funciona si el certificado es un certificado comodín. De lo contrario, el subdominio "afiliado" intentará usar el mismo certificado que el subdominio "www", y los visitantes recibirán una advertencia.

+0

que no tiene un certificado de comodín. –

+0

Este es un buen punto; un comodín podría funcionar porque ambos hosts están en el mismo dominio. – erickson

+0

Esto funcionó, un poco, pero no para mi situación. Aparentemente necesito un certificado de comodín para esto. Cuando lo hice, mi subdominio de afiliado ya no se redirige a www, pero recibo una advertencia de que el certificado SSL es para www ... La peor parte es que tengo problemas para deshacer lo que hice :-) I Veremos si funciona el IP separado. –

10

El problema es fundamental para la forma en que funciona HTTPS.

El alojamiento virtual se basa en el encabezado "Host" introducido en HTTP/1.1. Eso es parte del protocolo HTTP, pero desde el punto de vista del protocolo SSL, la capa HTTP es "datos de la aplicación" y no se puede transmitir hasta que se haya completado el protocolo de enlace SSL.

Sin embargo, el certificado del servidor se presenta durante el apretón de manos. El servidor HTTP aún no ha visto el encabezado "Host", por lo que no sabría qué certificado enviar. Usar una dirección IP distinta funciona, porque eso es visible en la capa IP debajo de SSL.


Actualización: Hay una nueva extensión TLS que permite a los clientes para indicar al servidor que se proponga utilizar durante el apretón de manos. See dlongley's answer para más información.

+0

¡Gracias por la explicación! –

0

En la situación particular que es donde necesita 2 subdominios del mismo dominio, un certificado de WildCard tiene para funcionar ...Uso un certificado comodín desde hace 3 años para docenas de sitios, y ningún cliente ha informado errores

Si tiene algo que indique que el certificado es para "www", entonces su certificado no es un certificado de comodín verdadero, o está experimentando algún tipo de problemas de caché del navegador o está utilizando 2 copias del certificado y actualiza solo uno de ellos, o se olvidó de reiniciar el servidor, o ... No :) :)

+0

No tengo un certificado de comodín –

3

Esto probablemente no lo ayude, pero con suerte es informativo.

Hay una extensión del protocolo TLS que usan algunos clientes TLS llamada Indicación del nombre del servidor (SNI). Esta extensión permite a los clientes de TLS especificar el nombre de host del servidor al que intentan contactar. Entonces, cuando el cliente se conecta y envía un mensaje ClientHello dentro del protocolo TLS, el servidor puede decidir con qué certificado responder. Esto hace que los servidores virtuales SSL/TLS sean posibles en una sola IP.

OpenSSL proporciona funciones de devolución de llamada que le permiten leer qué nombre de host envió el cliente y manejar el obtener el certificado apropiado, pero desafortunadamente no tengo idea de si esto es posible con IIS.

Cuestiones relacionadas