asp.net - studio - Enlazando IIS Express a una dirección IP
iis express proxy (5)
A continuación se muestran los cambios completos que necesitaba realizar para ejecutar mi aplicación IIS de x64 bit utilizando IIS Express, para que fuera accesible para un host remoto:
iisexpress /config:"C:/Users/test-user/Documents/IISExpress/config/applicationhost.config" /site:MyWebSite
Starting IIS Express ...
Successfully registered URL "http://192.168.2.133:8080/" for site "MyWebSite" application "/"
Registration completed for site "MyWebSite"
IIS Express is running.
Enter ''Q'' to stop IIS Express
El archivo de configuración (applicationhost.config) tenía una sección agregada de la siguiente manera:
<sites>
<site name="MyWebsite" id="2">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:/build/trunk/MyWebsite" />
</application>
<bindings>
<binding protocol="http" bindingInformation=":8080:192.168.2.133" />
</bindings>
</site>
La versión de 64 bit de .NET Framework se puede habilitar de la siguiente manera:
<globalModules>
<!--
<add name="ManagedEngine" image="%windir%/Microsoft.NET/Framework/v2.0.50727/webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness32" />
<add name="ManagedEngineV4.0_32bit" image="%windir%/Microsoft.NET/Framework/v4.0.30319/webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" />
-->
<add name="ManagedEngine64" image="%windir%/Microsoft.NET/Framework64/v4.0.30319/webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" />
Esta pregunta ya tiene una respuesta aquí:
- IIS Express habilita solicitud externa 20 respuestas
¿Es posible usar IIS Express para alojar páginas en una red? Fuera de la caja puede hacer localhost, pero estoy tratando de vincularlo a una dirección IP.
Cambiar bindingInformation=":8080:"
Y recuerda apagar el firewall para IISExpress
Como se mencionó anteriormente, edite la aplicación host.config. Una forma fácil de encontrar esto es ejecutar su sitio en VS usando IIS Express. Haga clic derecho en el ícono de bandeja de sistema, muestre todas las aplicaciones. Elija su sitio, y luego haga clic en el enlace de configuración en la parte inferior para abrirlo.
Sugiero agregar otra entrada de enlace y dejar allí el localhost inicial. Este enlace adicional aparecerá en la bandeja de sistema de IIS Express como una aplicación separada debajo del sitio.
Para evitar tener que ejecutar VS como administrador (hay muchas buenas razones para no ejecutarlo como administrador), agregue una regla netsh de la siguiente manera (obviamente reemplazando la IP y el puerto con sus valores) - necesitará un cmd.exe de administrador para esto, solo necesita ejecutarse una vez:
netsh http add urlacl url=http://192.168.1.121:51652/ user=/Everyone
netsh puede agregar reglas como url = http://+:51652/ pero no conseguí que esto se colocara muy bien con IIS Express. Puede usar netsh http show urlacl
para enumerar las reglas existentes, y se pueden eliminar con netsh http delete urlacl url=blah
.
Más información: http://msdn.microsoft.com/en-us/library/ms733768.aspx
Para que IIS Express responda en cualquier dirección IP, simplemente deje la dirección en blanco, es decir:
bindingInformation=":8080:"
No olvide reiniciar IIS Express antes de que los cambios puedan tener lugar.
Yo creo que puedes.
Para hacer esto, necesita editar manualmente el archivo applicationhost.config
(edit bindingInformation '' <ip-address>:<port>:<host-name>
'')
Para iniciar iisexpress, necesita privilegios de administrador