asp.net - studio - pagina web en red local
Accediendo al servidor de desarrollo ASP.NET desde otra PC en la red (7)
Me gustaría probar mi aplicación web en otros navegadores. He instalado Virtual PC para hacer precisamente eso. El servidor de desarrollo ASP.NET no permite conexiones remotas, por lo que la PC virtual (otra computadora en la red) no puede acceder al sitio web.
Encontré this publicación que se inició pero no hubo solución.
Entiendo que usar localhost no funcionará. Escuché sobre el uso de las máquinas ip, pero ¿cómo obtengo la ip correcta? Mira mi administrador lynksys enrutador?
Si tuviera que llegar tan lejos como para obtener mi IP, estoy seguro de que el servidor asp.net dev no permite conexiones remotas. ¿Cómo lo habilito para hacerlo?
Solución de trabajo para Linux
Esto debería funcionar si está ejecutando un servidor de desarrollo ASP.NET en Windows en una máquina virtual o en otro host y desea acceder a él desde Linux
En la maquina de Windows
Por alguna razón, no puede conectarse directamente al puerto del servidor de desarrollo de ASP.NET, primero debe crear un proxy local:
Use SPI Port Forward para aceptar las conexiones del dispositivo, haga lo siguiente:
Establezca "Puerto local" en el número de puerto al que se conectará el dispositivo, como 8089 Establezca "Host remoto" en localhost
Establezca "Puerto remoto" en el puerto del servidor de desarrollo de ASP.NET
Haga clic en el botón "Activar" para comenzar a aceptar conexiones
(Nota: asegúrese de haber iniciado el programa con derechos de administrador)
En la máquina linux
Reenvíe localmente el puerto de host local 8089 a la IP de Windows (reemplace GUEST_IP_HERE
con la ip correcta):
iptables -t nat -A OUTPUT -m addrtype --src-type LOCAL --dst-type LOCAL -p tcp --dport 8089 -j DNAT --to-destination GUEST_IP_HERE:8089
iptables -t nat -A POSTROUTING -m addrtype --src-type LOCAL --dst-type UNICAST -j MASQUERADE
Esto es necesario porque el servidor dev busca específicamente el host local en la solicitud y no responderá a http://GUEST_IP_HERE:8089
del host
Abra un símbolo del sistema y escriba; "ipconfig" le dará la dirección IP de su máquina.
Si deshabilita su firewall (al menos para el puerto de asp.net dev) debería poder escribir en el navegador de la PC virtual http://192.168.1.3:3243/default.aspx
Configurar un reenvío usando RINETD
Los detalles aquí: http://blog.waynehartman.com/articles/218.aspx
Estoy haciendo algunas conjeturas sobre tu configuración aquí, así que ten cuidado con:
Si su máquina virtual es XP Professional, Vista Business, Windows 7 Professional o superior, debería poder ejecutar IIS localmente en la máquina de desarrollo y acceder a ese servidor web desde otra máquina que esté en la misma red a través del nombre de la máquina virtual.
Del mismo modo, si está realizando el desarrollo en una máquina real y le gustaría usar diferentes máquinas virtuales para acceder a la aplicación web, debe asegurarse de que tiene instalado IIS, cree un nuevo sitio web en IIS y debe buscar el Aplicación web a través del nombre de la máquina desde sus máquinas virtuales.
De cualquier manera, no intente usar el servidor web incorporado de Visual Studio, solo publique su sitio en IIS y trabaje con él de esa manera.
Buena suerte y espero que esto ayude a algunos.
Estoy respondiendo esta vieja pregunta para ayudar a las personas a hacer que funcione sin IIS .
1. primer paso
Tienes que descargar Fiddler .
Una vez que Fiddler sea descargado e instalado, ábralo.
Vaya a Herramientas-> Opción Fiddler-> pestaña Conexión-> Y marque "Permitir que las computadoras remotas se conecten" :
Reinicie Fiddler.
2. Segundo paso
Después de esto, en la otra PC de la red O la máquina virtual , abra internet explorer-> Opciones de Internet-> Pestaña Conexión-> Configuración de Lan-> Marque "Usar un servidor proxy para su LAN" :
- La dirección es la dirección IP de su máquina DEV.
- Y poner el puerto 8888.
Ahora, puede acceder al servidor web ASP.NET desde otra PC en la red (quizás tenga más configuraciones que hacer, como firewall, puerto no restringido, etc., pero este es un buen comienzo).
Para acceder a él -> http://localhost.:54814
- ¡No olvide el punto adicional después de "localhost"! (Sobrescribir el localhost local)
- El puerto, "54814" en mi caso, es el puerto del servidor web ASP.NET.
NOTA :
- Para probar si el proxy funciona, puede probar esto: http://localhost.:8888
- Tal vez olvidé señalar algunas configuraciones, pero siempre depende de la infraestructura de la red.
La respuesta es: no (*). No puede acceder al servidor de desarrollo ASP.NET en una máquina desde otra, incluso si abre el puerto TCP del firewall de Windows.
Del artículo de MSDN "Servidores Web en Visual Web Developer " :
Está específicamente diseñado para servir, o ejecutar, páginas web ASP.NET en el escenario del host local (navegar desde la misma computadora que el servidor web).
En otras palabras, el servidor de desarrollo ASP.NET servirá páginas para las solicitudes del navegador en la computadora local. No servirá páginas a otra computadora. Además, no servirá archivos que estén fuera del alcance de la aplicación.
(*) Tendrás que ejecutar tu sitio desde tu IIS instalado localmente ... o hacer un buen truco usando el software gratuito que se describe en esta publicación del blog:
iPhone accediendo al servidor de desarrollo ASP.NET de Visual Studio
Use SPI Port Forward para aceptar las conexiones del dispositivo, haga lo siguiente:
Establezca "Puerto local" en el número de puerto al que se conectará el dispositivo, por lo general uso 8080 fuera de uso
Establecer "host remoto" a localhost
Establezca "Puerto remoto" en el puerto del servidor de desarrollo de ASP.NET
Haga clic en el botón "Activar" para comenzar a aceptar conexiones
(Nota: asegúrese de haber iniciado el programa con derechos de administrador)
Otra respuesta si no desea utilizar IIS (o túneles): https://.com/a/12008223/1552178
Use fiddler o similar en su host: configure su navegador en la máquina virtual del cliente para usar el proxy y luego use localhost: dev_port como de costumbre en el cliente.
Todas las solicitudes del cliente pasan al proxy en su máquina de desarrollo que se dirige a localhost en la máquina de desarrollo y el servidor de desarrollo de ASP.net piensa que la solicitud proviene de su máquina de desarrollo.