jueves, 16 de octubre de 2014

IIS Express, HTTPS... y una URL externa

Usar el IIS Express con un sitio web creado en VS 2013 va como piña mientras te mantengas en localhost, el problema se me presentó cuando quise accederlo desde otra maquina de la red.

  1. Para empezar tuve que abrir el VS 2013 como Administrador, porque sino no me permitía cambiar la URL del proyecto.

    A continuación  cambie la URL entrando en Propiedades del proyecto, luego en Web, y ahí en el grupo de parámetros Servidores, sustituyendo localhost por el nombre publico de la maquina donde se aloja el sitio.

  2. Después tuve que crear un nuevo certificado para esa dirección usando Makecert:
    Makecert -r -pe -n CN="nombrePublico" -b 10/15/2014 -e 10/15/2017 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localmachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12
    El secreto es que el certificado quede en localmachine porque ahí lo buscará el siguiente comando.

  3. Ahora falta asignar el certificado a la ip y puerto mediante netsh, ejecutando:
    netsh http add sslcert ipport=0.0.0.0:44302 certhash=certThumbprint appid={anyValidGuid}
    Podes averiguar el thumbprint, o huella digital, del certificado generado usando MMC, en el menú Archivos seleccionar la opción Agregar o quitar complementos, Certificados, y ahí Cuenta de equipo.

  4. El último paso es que nuestro equipo cliente confíe en el certificado que generamos. En mi caso usando Chrome lo que hice fue intentar acceder al sitio web alojado en el IIS Express, cuando me apareció el mensaje de el certificado no es de confianza, baje el certificado lo guarde en un archivo en mi maquina, y luego desde la configuración del Chrome lo importe a la carpeta de Entidades de certificación raíz de confianza (en este sitio se explica mucho mas detallado).

1 comentario:

  1. Problemas como estos son muy dificiles de encontrar solución... Muchas Gracias por compartir esta lección aprendida :)

    ResponderEliminar