1 Después de editar el archivo applicationhost.config (ubicado en la carpeta IISExpress en sus documentos), los enlaces de su sitio deberían verse como a continuación:
<bindings>
<binding protocol="http" bindingInformation="*:8080:*" />
</bindings>
Los enlaces constan de tres partes. Primero una dirección IP o una lista, o como en este caso, un comodín. En segundo lugar, el número de puerto y, en tercer lugar, un nombre de host, una lista o un comodín (para filtrar por Hostencabezado). Para fines de desarrollo, un comodín es más adecuado aquí, ya que probablemente usará un puerto único.
2 Debido a que está utilizando un enlace de host no local, se requieren permisos adicionales. Puede ejecutar VS como administrador, o preferiblemente debe agregar URL ACL para otorgar los permisos necesarios. En el siguiente ejemplo, se otorga permiso a todos, pero puede usar su propio nombre de usuario.
Nota: El urlacldebe coincidir exactamente con la unión. Entonces, un urlaclfor http://*:8080permitirá un enlace de *:8080:*, pero no un enlace de *:8080:localhost, aunque el último sea un subconjunto del primero. esto significa que si, en lugar de usar un comodín, enumera los encabezados de host applicationhost.config, debe agregar una coincidencia urlaclpara cada uno.
Los pasos para configurar HTTP.sys para tráfico externo son similares a configurar un sitio para usar un puerto reservado. En Windows 7 o Windows Vista, desde un símbolo del sistema elevado, ejecute el siguiente comando:
netsh http add urlacl url=http://*:8080/ user=DOMAIN\username
En Windows XP, ejecute el siguiente comando desde un símbolo del sistema elevado:
httpcfg set urlacl /u http://*:8080/ /a D:(A;;GX;;;WD)
Nota 2 Si ejecutar VS como administrador o agregar entradas de ACL no resuelve su problema, ejecute IIS Express desde la línea de comando y verifique si hay algún mensaje de error de registro vinculante. Para comenzar desde la línea de comando, dé este comando:
iisexpress.exe /site:"your-site-name"
3 Finalmente, necesitará las entradas de firewall adecuadas. Para ello, es más fácil utilizar la consola "Firewall de Windows con seguridad avanzada".
En "Reglas de entrada", elija "Nueva regla ...".
- El tipo de regla es "Personalizado".
- El programa es Servicios-> Personalizar ...-> Aplicar solo a servicios. (Aunque IIS Express no es un servicio, el multiplexor HTTP que utiliza sí lo es).
- El protocolo es TCP
- Puertos específicos: enumere todos los puertos para todos sus enlaces IIS Express. Puede volver a esta regla y agregar puertos en cualquier momento. (Si esto se vuelve aburrido, puede agregar un rango como el
40000-65534que cubre todo el rango usado por Visual Studio, pero tenga en cuenta que esto es menos seguro).
- La acción es "Permitir la conexión"
- El perfil será uno de los siguientes. En caso de duda, elija "Dominio + privado".
- "Dominio", si el suyo es un escritorio corporativo y solo se ejecutará en el dominio local
- "Dominio + Privado" Si la suya es una máquina de desarrollo privada en un entorno no corporativo, o una computadora portátil corporativa que también necesita funcionar cuando se trabaja desde casa.
- "Dominio, Privado y Público", si necesita hacer demostraciones en redes no privadas.
- El nombre debe ser similar a "IIS Express Dev Server"