Utilizando el mismo certificado digital en múltiples sitios de IIS
Por Hector Bejarano - http://citicr.org
En un artículo anterior, se explicó como se pueden generar certificados digitales que tengan varios DNS, de manera que uno podría utilizar ese mismo certificado para varios sitios web, este artículo se enfoca en la configuración que se debe de realizar en IIS para poder utilizar esos certificados.
La primera pregunta que el lector se puede hacer es, ¿de que me sirve esto? pues bien, resulta que uno no puede tener varios certificados digitales en un mismo end point (combinación de IP/puerto) en una configuración normal de Windows, lo que significa que si usted tuviera un solo IP real y necesita publicar varios sitios web en el puerto de HTTPS (443), no podría hacerlo. De hecho, muchas personas optan por publicar los sitios en puertos diferentes, pero como sabemos, esto puede resultar molesto y tedioso para el usuario final.
Lo ideal sería poder publicar todos los sitios que yo quiera en el puerto 443 utilizando un mismo certificado, pero ¿Como se logra esto?
Lo primero a tomar en cuenta es que se debe poseer un servidor Windows 2003 SP1 o superior (El SP1 es requerido porque este escenario no es soportado en un Windows normal). Además, se debe tomar en cuenta también que no se puede utilizar la consola de IIS para salvar la configuración de los sitios ya que esta tampoco soporta el escenario descrito anteriormente, por lo que si después de haber seguido los pasos descritos en este artículo alguien viene y salva la configuración desde la consola de IIS, habrá que reconstruir la configuración de la metabase.
Vamos a imaginar que tenemos los siguientes sitios web en un mismo servidor:
Website
Host Header
Site Identifier
IP
Puerto
Puerto SSL
Principal
www.misitio.org
1
190.30.12.78
80
443
Correo
correo.misitio.org
2
190.30.12.78
80
443
Recursos Humanos
rh.misitio.org
3
190.30.12.78
80
443
En un servidor Windows normal, si usted crea esa configuración en IIS (tomando en cuenta que usted ya instaló el mismo certificado digital en los 3 sitios), notará varias cosas:
1. Siempre obtendrá el mismo sitio utilizando todos los diferentes DNS (host headers)
2. Solo un sitio estará corriendo en IIS, los otros dos sitios van a aparecer como detenidos.
3. Si intenta iniciar uno de los sitios que está detenido, IIS le indicará que no puede hacerlo porque otro sitio ya está utilizando el mismo IP y puerto.
Entonces, el procedimiento para hacer que todos estos sitios corran al mismo tiempo con la configuración anteriormente descrita es la siguiente:
1. Determine el número de site identifier para cada sitio: En la consola de IIS, se puede posicionar en el nodo "Web Sites" del árbol de la izquierda, una vez hecho esto aparecerá una lista con todos los sitios web, la segunda columna (llamada Identifier) muestra el número de identificación para cada sitio.
2. Ejecute los siguientes comandos desde una sesión de línea de comando (DOS):
Sintaxis:
C:\Inetpub\AdminScripts>cscript.exe adsutil.vbs set /w3svc/<site identifier>/SecureBindings ":443:<host header>"
Ejemplos:
C:\Inetpub\AdminScripts>cscript.exe adsutil.vbs set /w3svc/1/SecureBindings ":443:www.misitio.org"
C:\Inetpub\AdminScripts>cscript.exe adsutil.vbs set /w3svc/2/SecureBindings ":443:correo.misitio.org"
C:\Inetpub\AdminScripts>cscript.exe adsutil.vbs set /w3svc/3/SecureBindings ":443:hr.misitio.org"
3. Inicie los sites desde la consola de IIS
Comments
Es que el comando lo escribiste mal.
cscript.exe se encuentra en c:\windows\system32 y recibe como parametro C:\Inetpub\AdminScripts\adsutil.vbs ... mas el resto, quedando algo asi como: c:\windows\system32\cscript.exe c:\Inetpub\AdminScripts\adsutil.vbs set /w3svc/1/SecureBindings ":443:www.misitio.org"
Ahora, tengo una duda por si puedes responderla: que hay si quiero hacer lo mismo (compartir el 443 entre varios sitios) pero que tienen dieferentes certificados y que cada uno refleje el suyo? Lo intente pero entonces todos usan el utilizado por el ultimo de los sitios registrado con el comando en cuestion. Es decir si revisas el Certificado de cada sitio al solitarlo en un Navegador te muestra el mismo, a pesar que tienen uno diferente cada uno.
Gracias, una vez mas.