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 Host
encabezado). 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 urlacl
debe coincidir exactamente con la unión. Entonces, un urlacl
for http://*:8080
permitirá 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 urlacl
para 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-65534
que 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"