IIS Express desde el exterior

Buenas tardes a todos,

No se si alguna vez os ha pasado pero si desarrllas web en ASP.NET y necesitas acceder desde máquinas externas como terminales móviles, tabletas, televisiones, máquinas virtuales o simplemente emuladores… IIS Express no permite hacerlo de manera automática ya por defecto bloquea las peticiones que no se resuelven por localhost. Es decir si la máquina que ejecuta el IIS Express tiene la IP 192.168.1.2 y accedes a ella vía IP desde la propia máquina el IIS denegará la petición encambio si lo haces por localhost no.

Bueno no me enrollo más, para cambiar este comportamiento se necesitan 2 cosas:
— Poder ejecutar el Visual Studio con permisos elevados (lo más habitual es ejecutarlo como Administrador)
— Editar el archivo de configuración de IIS Express.

Empecemos por la segunda parte, el archivo de configuración está en:
C:\Users\{username}\Documents\IISExpress\config\applicationhost.config
Lo abrimos con un editor de texto cualquiera, preferiblemente distinto al bloc de notas.. por lo que pueda pasar =) Y buscamos la etiqueta <sites>


<sites>
<site name="Web" id="1">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="{PATH_PROJECT}" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:18599:localhost" />
</bindings>
</site>
<siteDefaults>
<logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
<traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
</siteDefaults>
<applicationDefaults applicationPool="Clr4IntegratedAppPool" />
<virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>

En este nodo encontramos , varios nodos hijos con la etiqueta site, ahí debemos buscar nuestra aplicación web, en mi caso me quedo con la Web que tiene el nombre Web,

ahora debemos editar la linea
<binding protocol=”http” bindingInformation=”*:18599:localhost” />
y dejarla como
<binding protocol=”http” bindingInformation=”*:18599:” />

A partir de ahora cuando ejecutemos el VS si no lo hacemos como usuarios con privilegios saltará un error de que no se puede registrar el proyecto en el sistema por falta de permisos.

Espero que a alguno les sirva esta pequeña entrada.

Saludos

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.