Dado que en un iPad no podemos editar el archivo de hosts (sin jailbreak), ¿cómo podemos redirigir arbitrariamente el tráfico web a otra URL?
Esto sería importante para algo como el desarrollo de un sitio web que utiliza una configuración de host virtual donde desea redirigir a una máquina de desarrollo.
(Esto está relacionado con esta pregunta: ¿Puedo editar el archivo de host de un iPad? )
yum install squid
en fedoraapt-get install squid
en Ubuntusudo service squid3 reload
. Además, y tal vez este sea un problema de configuración específico de mi servidor de desarrollo, en mi iPad tengo que ingresar manualmente http: // para que la resolución de direcciones funcione correctamente.Descubrí que solo tiene que modificar la configuración de Wifi en su iPad para usar la dirección IP de su máquina de desarrollo como un proxy HTTP (como se explica en el artículo mencionado anteriormente ):
De esa manera, es suficiente poder acceder a su aplicación web en su iPad ingresando la URL del host virtual (por ejemplo
local.mywebapp.com
). Es fácil y rápido, pero a diferencia de la solución de Will Koehler, no podrá acceder a Internet desde el iPad. Pero la mayoría de las veces no es realmente un problema, ya que solo desea probar su propia aplicación.fuente
80
.Configure el archivo de hosts en una computadora que ejecute un servidor proxy como Fiddler o Charles, y configure el iPad para usar esa computadora como un proxy HTTP.
Aquí hay instrucciones sobre cómo hacer esto con Fiddler: http://conceptdev.blogspot.com/2009/01/monitoring-iphone-web-traffic-with.html
Y esto es para Charles: http://www.ravelrumba.com/blog/ipad-http-debugging/
fuente
Si ya tiene un servidor Apache en el que está desarrollando, puede usarlo fácilmente como un proxy de reenvío. Esto es particularmente útil para los sitios de WordPress, a los que realmente les encanta usar la URL absoluta completa.
Ejemplo de Ubuntu a continuación:
El primer paso es editar el
/etc/hosts
archivo en su servidor de desarrollo. Agregue la IP local del servidor, apuntando a su sitio.127.0.0.1 dev.mysite.com
Este archivo de hosts será utilizado por su proxy Apache cuando intente resolver las solicitudes de su iPhone / iPad. Así que configuremos la parte de Apache ahora ...
Es posible que primero deba instalar algunos módulos.
Luego cree un archivo de host virtual, por ejemplo
/etc/apache2/sites-available/my-proxy
Habilite el vhost y reinicie Apache:
Luego, vaya a Configuración> Wi-Fi> Su red y configure un proxy "Manual". Ingrese la IP de su servidor Apache y el puerto. ¡Eso es!
El
<Proxy *>
bloqueo garantiza que solo las personas de mi red local puedan usar este proxy. Limitar estrictamente el acceso es esencial si está utilizando un proxy de reenvío. La página ip2cidr será útil en este momento. (Como medida adicional, el puerto: 8080 está bloqueado por mi firewall).fuente
Necesito probar las aplicaciones web que estoy desarrollando en un iPad. Utilizo Apache en mi máquina de desarrollo para ejecutar las aplicaciones web, por lo que la solución más fácil que encontré fue usar Apache mod_proxy.
Mi máquina de desarrollo es visible en mi red doméstica como sapphire.local.
La aplicación web que estoy probando está alojada en la máquina de desarrollo en demo.cms.dev (estoy usando POW).
Para configurar el proxy, agregué la siguiente sección a httpd.conf.
Esto enruta las solicitudes entrantes en sapphire.local a demo.cms.dev. El método solo funciona para una aplicación a la vez. Creo que podrías usar diferentes puertos para configurar aplicaciones adicionales. ¿Quizás alguien tiene una mejor solución?
fuente
También es posible usar Weblock - AdBlock para la aplicación iOS (disponible por $ 1.99 aquí: https://itunes.apple.com/us/app/weblock/id558818638?mt=8 ) para crear redireccionamientos de tráfico web.
Esto le permite redirigir cualquier tráfico que coincida con cierta regla a una dirección IP especificada. Esto emulará la adición de una entrada a / etc / hosts en su dispositivo iOS. Si el nombre de host configurado en las solicitudes lo maneja la IP a la que dirige su tráfico, puede usar esto para probar la API privada o incluso rastrear el tráfico enviado desde otras aplicaciones o sitios web. Desafortunadamente, esto solo funciona para conexiones http / https.
Todo esto se puede hacer solo con Wi-Fi (una de las limitaciones de Weblock). Su principal ventaja es que puede configurar fácilmente todo desde su dispositivo iOS y no hay necesidad de meterse con la configuración del servidor DNS / proxy.
He aquí un ejemplo:
Weblock también es bueno para redirigir selectivamente algunas URL con expresiones regulares. Puede redirigir las consultas solo a ciertos puntos finales, mientras que todas las demás consultas van a la IP devuelta por el DNS. En realidad, esto permite una configuración aún más adecuada que / etc / hosts.
Ejemplo: si creo una regla de redireccionamiento de URL para htt *: //somedomain.com/api/login* y alguna IP y puerto, solo veré el tráfico de esta URL en esta IP y puerto, mientras que el resto del tráfico a algún dominio. com irá directamente a la IP devuelta por el DNS. Tenga en cuenta que funcionará tanto para / api / login como para / api / login? Someparam = somevalue gracias al signo comodín * al final de la regla.
fuente
Lo hice usando squidman en Mac. Es fácil de configurar y usar.
Lo configuré en 5 minutos siguiendo este artículo .
Actualizar
Otra cosa es que si desea conectarse a los sitios web que se ejecutan en el servidor proxy, en mi caso es mi Mac, debe comentar esta línea en squidman-> Preferencias-> Plantilla
fuente
Puede configurar un servidor DNS interno en su red (si aún no existe uno) y configurar un registro A. Luego, asegúrese de que su DHCP esté configurado para devolver dicho servidor DNS
fuente
También puede usar http://xip.io/ usando las instrucciones en esa página, puede ingresar la dirección IP y lo redireccionará a la IP local correspondiente.
fuente
Si tiene un sitio web en vivo, puede usarlo para esto:
Puede agregar un registro A a su configuración de DNS: something.yourdomain.com que apunta a su dirección IP local, luego agregue una entrada para something.yourdomain.com a su archivo de hosts virtuales. Reinicie Apache, coloque su dispositivo iOS en la misma red y listo.
fuente
Este es un método sin configuración para pruebas entre dispositivos / computadoras de un host virtual Mamp Pro. La única limitación es que solo puede probar un dominio a la vez, pero para mí esto está bien cuando estoy desarrollando. Sin embargo, es realmente sencillo cambiar entre hosts virtuales directamente en mamp.
Estoy corriendo mamp pro 2, puma. La carpeta Mis sitios contiene las carpetas de dominio individuales.
Descubrí que si elige la IP específica de la computadora local en el host virtual 'ip / puerto' y reinicia mamp, este dominio se convertirá en el dominio predeterminado al ver la dirección IP de las computadoras localhost o el nombre de la computadora en la red.
Para fines de prueba, esto funciona muy bien en todos los dispositivos de la red, incluido el iPad. Si desea probar otro host virtual, simplemente puede devolver la configuración de ip / puerto a "*" y luego reasignar otro dominio a la dirección IP de la computadora y reiniciar.
La ventaja de este enfoque simple es que puede proporcionar acceso a los clientes directamente a sus sitios de desarrollo cuando está en la misma red sin tener que pasar por ninguna configuración en su máquina.
Espero que esto ayude a cualquiera que busque una solución simple.
fuente
El servidor DNS interno es una de las opciones, pero fue demasiado complicado de implementar. Intentamos instalar squid como servidor proxy, pero tampoco funcionó porque redirigía la URL a un nuevo servidor y esta redirección también se vio en la URL del navegador.
Lo que finalmente funcionó para nosotros fue instalar Fiddler en uno de los servidores y usar este servidor como servidor proxy en el ipad. Fiddler también tiene una función para asignar subdominios a la dirección IP, es decir, algo similar a / etc / hosts.
fuente
Buen tutorial para hacerlo: http://egalo.com/2012/05/29/testing-mac-web-site-using-local-hostname-on-mobile-device/
Otra forma es conectar el iPad a través de Local Hotspot con mi MAC OS X y establecer un reenvío de puertos a la VM de desarrollo. Para lograr esto, he realizado los siguientes pasos:
ssh -NL <IP-of-hotspot-host>:<source-port>:<url-to-local-vm>:80 <user-to-vm>
<IP-of-hotspot-host>:<source-port>
Dónde obtener 'IP-of-hotspot-host':
Una vez creado el punto de acceso, hay un punto WLAN en
la configuración del sistema MAC OS X >> Red >> WLAN
Añadiendo ServerAlias:
En mi desarrollo-VM (Apache2) en /etc/apache2/sites-available/dkr.dev.local tuve que agregar lo siguiente:
fuente
Si ha estado explorando esto y algunos de los enlaces externos, posiblemente encuentre esta respuesta:
https://stackoverflow.com/a/24770097/3842985
Se trata de un servidor DNS de peso ligero llamado dnsmasq. Súper simple, muy poderoso y se puede usar junto con sus servidores DNS internos o externos.
Mucho más fácil que instalar squid, jugar con Apache y otras técnicas que llevarían mucho tiempo y pondrían en riesgo la "integridad" de las configuraciones, los entornos de desarrollo, los entornos de prueba, etc.
Vale la pena considerarlo.
Lo adopté como una herramienta habitual para el desarrollo y para la creación de redes normales.
fuente
El uso de un servidor DNS personalizado en la PC puede resolver esto. Estoy usando y funcionando perfectamente.
Consulte https://technitium.com/dns/ para descargar el servidor DNS personalizado. Que está construido usando tecnología .Net. Después de configurar esta herramienta, debe cambiar la configuración de DNS a personalizada y configurar la IP de su PC. Para evitar cambiar la IP cada vez que reinicia la PC, use una IP estática en la PC.
fuente
Probaría Relay Server (parte de Afaria) que puede redirigir el tráfico móvil en función de los perfiles.
Actualización: la respuesta de tremoloqui parece menos problemática y mucho más barata.
fuente
Las respuestas aquí son correctas. Un poco más de conocimiento: estos no funcionarán con la fijación de certificados. Lo que puede hacer es (1) usar un certificado comodín de dominio para respaldar sus pruebas de región dev / test / qa. Y / o (2) utilice un servidor proxy inverso como Apache mediante el cual cambie a donde Apache enruta las solicitudes dentro de su red. Ahora, cuando ingresa a las pruebas de fijación de SSL, está muerto en el agua con los dispositivos físicos y solo puede validar con el simulador (ios) y el emulador (android).
fuente