¿Configurar IIS 7.5 con múltiples enlaces a sitios web y SSL?

11

En IIS 7.5 estoy tratando de lograr esto con dos sitios web:

Default Web Site is bound to:

(blank host header port 80 - http)
(blank host header port 443 - https)
go.example.com
www71.example.com
the IP address of go.example.com

2nd web site "Beta" is bound to:

beta.example.com
(blank host header port 443 - https)
* using blank only because it doesn't seem to be possible to 
  bind https to a named host header

Y ambos necesitan trabajar con SSL. Pero tengo estos problemas:

  1. Cuando escribo beta.example.com, veo el sitio go.example.com en su lugar
  2. Parece que no puedo agregar el enlace SSL a ambos sitios web a la vez (tengo un solo certificado comodín * .example.com). El sitio beta ni siquiera se iniciará si le agrego el enlace https.

Así es como lo configuré:

ingrese la descripción de la imagen aquí

¿Cuál es la forma correcta de configurarlo?

JK01
fuente

Respuestas:

8

Sin extensiones SNI , puede vincular solo un certificado SSL por IP: par de puertos. Si necesita ejecutar 2 HTTPS en la misma IP, vincúlelos a diferentes puertos y luego consulte el sitio que proporciona el puerto en la URL (por ejemplo https://beta.example.com:444/). Puede usar el mismo certificado comodín en diferentes puertos sin ningún problema.

Si tiene más de un sitio con un nombre de host en blanco (para el protocolo HTTP), el que tenga una ID más baja debería ser un "catch all". Lo mismo ocurre con HTTPS: el que tenga una ID más baja debe interceptar todas las solicitudes en ese puerto.

Por otro lado, tiene un certificado comodín y he visto un artículo que dice que esto se puede hacer en IIS7: http://www.sslshopper.com/article-ssl-host-headers-in-iis-7.html . Lo intenté yo mismo en el pasado, pero no funcionó bien para mí, a menudo IIS arrojaba un error 5xx al acceder incluso a archivos estáticos (lo que dejó de ocurrir cuando vinculamos otro host a un puerto diferente). Tal vez se ha solucionado desde entonces.

LazyOne
fuente
3

Aunque esta es una pregunta anterior, tuve la necesidad de lograr lo mismo recientemente. Se puede hacer bajo IIS 7.x mediante el uso de certificados de Nombre alternativo del sujeto. Estos certificados son preferibles a los comodines porque se limitará solo a los sitios específicamente enumerados, mitigando así los ataques basados ​​en falsificar un nombre de sitio falso dentro de un dominio capturado bajo un comodín.

Una vez que se importa el certificado SAN a IIS, puede usar la herramienta appcmd para especificar el enlace adicional o editar manualmente applicationHost.config dentro de la sección, por ejemplo

<site name="SomeSite" id=9>
   <bindings>
     <binding protocol="http" bindingInformation="*:80:SomeSite"/>
     <binding protocol="https" bindingInformatoin="*:443:SomeSite" />
   </bindings>
</site>
David W
fuente