iis express - studio - IISExpress devuelve un error 503 de máquinas remotas
iis express visual studio 2017 download (8)
Después de gastar más de 3 horas en un tema tan completo, decidí compartir mi configuración contigo. Mi configuración es Visual Express 2012 para la actualización web 4 en Windows 8. Esta fue la primera vez que volví a MS VS desde mis estudios (al menos 8 años) y ahora estoy seguro de que Linux gobierna. En django, este tipo de configuración me llevó 10 minutos de búsqueda de documentación.
apagar el firewall para probar
netsh advfirewall set allprofiles state off
los enlaces de configuración en mi caso la dirección local es localIP = 192.168.1.102 (porque los enlaces no pueden contener un dominio no numérico, úsela a continuación en lugar de mylocaldomain.com, consulte la política de stackoverflow) en
Documents/IISExpress/config/applicationhost.config
<bindings> <binding protocol="http" bindingInformation="*:53351:mylocaldomain.com" /> <binding protocol="http" bindingInformation="*:53351:localhost" /> </bindings>
agregue la ejecución automática para el servicio de inicio ISS Express automáticamente
<site name="NeuronCharts" id="2" serverAutoStart="true">
Agregue algunas reglas extrañas al servidor http (todavía no sé si esto es nesseary)
netsh http add urlacl url=http://mylocaldomain.com:53351/ user=everyone
ejecute IISExpress manualmente, no desde VS IDE
- verá que ISSExpress está registrando enlaces
- ejecuta el navegador
http://mylocaldomain.com:53351
si funciona, entonces podemos agregar una regla de firewall agregar regla de firewall
netsh advfirewall firewall add rule name="IISExpressWeb" dir=in protocol=tcp localport=53351 remoteip=any action=allow
establezca el control remoto en cualquiera si desea acceder a su servidor desde fuera del mundo si desea acceder para usar la red local localsubnet
iniciar el firewall
netsh advfirewall set allprofiles state on
compruebe nuevamente si todo está funcionando en la ip local y pública
Te deseo suerte
Rafal
Estoy intentando probar un sitio web que tengo en ejecución en una instancia local de IISExpress con algunas otras máquinas / dispositivos en mi red local. Estoy ejecutando Win7 Pro.
Cuando intento por primera vez buscar mi máquina desde otra máquina en mi segmento de red local, aparece un error de 400: El nombre de host no es válido.
Entiendo que debo otorgar acceso remoto a la ACL con un comando en el indicador de comando elevado como:
netsh http add urlacl url=http://mymachinename:50333/ user=everyone
Ahora recibo un servicio 503 no está disponible el error.
Windows Firewall está actualmente apagado, y puedo navegar por mi instancia local de IISExpress con la dirección http://localhost:50333
¿Cuál es la última pieza de este rompecabezas de configuración?
El problema es actualizar el archivo applicationhost.config dentro de la carpeta web en lugar de la solución. El archivo de configuración de solución es el que debe cambiarse
En cuanto a la respuesta de Anthony Rizzolo: en Windows 8.1, tuve que escribir de esta manera:
netsh http delete urlacl url=<the url from the list>
Por ejemplo:
netsh http delete urlacl url=http://+:8689/
Encontré que el problema tenía que ver con un mal mapeo urlacl. Para resolver esto:
netsh http show urlacl
y busque cosas como http://+:80/
o el puerto al que está vinculando.
Entonces usa
netsh http delete url=<the url from the list>
Esto solucionó el problema para mí.
Nada funcionó para mí. Finalmente encontré iisexpress-proxy
Ver mi respuesta https://.com/a/33623399/631527
Parece que le falta una entrada de información vinculante en el archivo applicationhost.config.
Abra su archivo applicationhost.config. Posibles ubicaciones son:
-
%userprofile%/Documents/IISExpress/config/applicationhost.config
-
$(solutionDir)/.vs/config/applicationhost.config
(VS2015) - En su defecto, inspeccione la salida de
iisexpress.exe
para estar seguro.
-
Ubique su entrada en el sitio web y agregue el siguiente enlace con el nombre de su máquina.
<binding protocol="http" bindingInformation=":50333:your-machine-name" />
Reiniciar IIS Express
Solo había 1 cosa que funcionó para mí.
usando *:portnumber:*
no fue bueno. Sí, después de hacer eso y de asegurarme de que el Firewall de Windows estaba abierto, pude conectarme al puerto, pero sigo teniendo el error "503".
Probé algunas cosas localmente y descubrí que solo funcionaba http: // localhost . Usando la dirección IP real (no 127.0.0.1, pero, por ejemplo, 192.168.1.50), aún se devolvió un 503 incluso en la máquina local. Intenté usar el nombre de host real en los enlaces, pero IIS Express se negó a iniciar. Esto realmente puede tener algo que ver con la forma en que se resolvió el nombre de host. No exploré eso más.
Finalmente, terminé usando esta configuración:
<binding protocol="http" bindingInformation="*:53351:localhost" />
<binding protocol="http" bindingInformation="192.168.1.50:53351:*" />
De esa manera, pude conectarme desde una máquina remota usando http://192.168.1.50:53351
.