Puisque sur un iPad, nous ne pouvons pas éditer le fichier hosts (sans jailbreaking), comment pouvons-nous rediriger arbitrairement le trafic Web vers une autre URL?
Cela serait important pour quelque chose comme le développement d'un site Web qui utilise une configuration d'hôte virtuel où vous souhaitez rediriger vers une machine de développement.
(Ceci est lié à cette question: puis-je modifier le fichier hôte d'un iPad? )
yum install squid
sur fedoraapt-get install squid
sur Ubuntusudo service squid3 reload
. De plus - et c'est peut-être un problème de configuration spécifique à mon serveur de développement - sur mon iPad, je dois saisir manuellement http: // pour que la résolution d'adresse fonctionne correctement.J'ai trouvé qu'il vous suffit de modifier les paramètres Wifi de votre iPad pour utiliser l'adresse IP de votre machine de développement comme proxy HTTP (comme expliqué dans l' article susmentionné ):
De cette façon, il suffit de pouvoir accéder à votre application Web sur votre iPad en entrant l'url de l'hôte virtuel (par exemple
local.mywebapp.com
). C'est simple et rapide, mais contrairement à la solution de Will Koehler, vous ne pourrez cependant pas accéder à Internet depuis l'iPad. Mais la plupart du temps, ce n'est pas vraiment un problème, puisque vous voulez juste tester votre propre application.la source
80
.Configurez le fichier hosts sur un ordinateur exécutant un serveur proxy tel que Fiddler ou Charles, et configurez l'iPad pour utiliser cet ordinateur comme proxy HTTP.
Voici les instructions pour faire cela avec Fiddler: http://conceptdev.blogspot.com/2009/01/monitoring-iphone-web-traffic-with.html
Et c'est pour Charles: http://www.ravelrumba.com/blog/ipad-http-debugging/
la source
Si vous avez déjà un serveur Apache sur lequel vous faites du développement, vous pouvez facilement l'utiliser comme proxy de transfert. Ceci est particulièrement utile pour les sites WordPress, qui aiment vraiment utiliser l'URL absolue complète.
Exemple Ubuntu ci-dessous:
La première étape consiste à modifier le
/etc/hosts
fichier sur votre serveur de développement. Ajoutez l'adresse IP locale du serveur, pointant vers votre site.127.0.0.1 dev.mysite.com
Ce fichier hosts sera utilisé par votre proxy Apache lorsqu'il essaiera de résoudre les requêtes de votre iPhone / iPad. Alors configurons la partie Apache maintenant ...
Vous devrez peut-être d'abord installer certains modules.
Créez ensuite un fichier hôte virtuel, par exemple
/etc/apache2/sites-available/my-proxy
Activez l'hôte virtuel et redémarrez Apache:
Ensuite, allez dans Paramètres> Wi-Fi> Votre réseau et configurez un proxy «Manuel». Entrez l'adresse IP de votre serveur Apache et le port. C'est tout!
Le
<Proxy *>
blocage garantit que seules les personnes de mon réseau local peuvent utiliser ce proxy. Limiter strictement l'accès est essentiel si vous utilisez un proxy direct. La page ip2cidr sera utile à ce stade. (Comme mesure supplémentaire, le port: 8080 est bloqué par mon pare-feu.)la source
J'ai besoin de tester les applications Web que je développe sur un iPad. J'utilise Apache sur ma machine de développement pour exécuter les applications Web, donc la solution la plus simple que j'ai trouvée était d'utiliser Apache mod_proxy.
Ma machine de développement est visible sur mon réseau domestique sous le nom sapphire.local.
L'application Web que je teste est hébergée sur la machine de développement à demo.cms.dev (j'utilise POW).
Pour configurer le proxy, j'ai ajouté la section suivante à httpd.conf.
Cela achemine les demandes entrantes sur sapphire.local vers demo.cms.dev. La méthode ne fonctionne que pour une application à la fois. Je pense que vous pouvez utiliser différents ports pour configurer des applications supplémentaires. Peut-être que quelqu'un a une meilleure solution?
la source
Il est également possible d'utiliser Weblock - AdBlock pour l'application iOS (disponible pour 1,99 $ ici: https://itunes.apple.com/us/app/weblock/id558818638?mt=8 ) pour créer des redirections de trafic Web.
Cela vous permet de rediriger tout trafic correspondant à certaines règles vers une adresse IP spécifiée. Cela émulera l'ajout d'une entrée à / etc / hosts sur votre appareil iOS. Si le nom d'hôte défini dans les requêtes est géré par l'adresse IP vers laquelle vous dirigez votre trafic, vous pouvez l'utiliser pour tester l'API privée ou même pour détecter le trafic envoyé à partir d'autres applications ou sites Web. Cela ne fonctionne malheureusement que pour les connexions http / https.
Tout cela ne peut être fait qu'en Wi-Fi (l'une des limitations de Weblock). Le principal avantage est que vous pouvez facilement tout configurer à partir de votre appareil iOS et qu'il n'est pas nécessaire de jouer avec la configuration du serveur DNS / proxy.
Voici un exemple:
Weblock est également utile pour rediriger sélectivement certaines URL avec des expressions régulières. Vous pouvez rediriger les requêtes vers certains points de terminaison uniquement, tandis que toutes les autres requêtes vont à l'adresse IP renvoyée par le DNS. Cela permet en fait une configuration encore plus adaptée que / etc / hosts.
Exemple: si je crée une règle de redirection d'URL pour htt *: //somedomain.com/api/login* et certaines adresses IP et ports, je ne verrai que le trafic de cette URL à cette adresse IP et à ce port, tandis que tout autre trafic vers un domaine. com ira directement à l'adresse IP renvoyée par le DNS. Notez que cela fonctionnera à la fois pour / api / login et / api / login? Someparam = somevalue grâce au signe générique * à la fin de la règle.
la source
Je l'ai fait en utilisant squidman sur Mac. C'est facile à installer et à utiliser.
Je l'ai mis en place en 5 minutes en suivant cet article .
Mettre à jour
Une autre chose est que si vous souhaitez vous connecter aux sites Web fonctionnant sur un serveur proxy, dans mon cas, c'est mon Mac, vous devez commenter cette ligne dans squidman-> Préférences-> Modèle
la source
Vous pouvez configurer un serveur DNS interne sur votre réseau (s'il n'en existe pas déjà un) et configurer un enregistrement A. Ensuite, assurez-vous que votre DHCP est configuré pour renvoyer ledit serveur DNS
la source
Vous pouvez également utiliser http://xip.io/ en utilisant les instructions sur cette page, vous pouvez entrer l'adresse IP et il vous redirigera vers l'adresse IP locale appropriée.
la source
Si vous avez un site Web en direct, vous pouvez utiliser pour cela:
Vous pouvez ajouter un enregistrement A à votre configuration DNS: something.yourdomain.com qui pointe vers votre adresse IP locale, puis ajouter une entrée pour something.yourdomain.com à votre fichier d'hôtes virtuels. Redémarrez Apache, installez votre appareil iOS sur le même réseau et vous êtes prêt à partir.
la source
Voici une méthode sans configuration pour les tests multi-appareils / ordinateurs d'un hôte virtuel Mamp Pro. La seule limitation est que vous ne pouvez tester qu'un seul domaine à la fois, mais pour moi, cela me convient lorsque je développe. Il est cependant très simple de passer d'un hôte virtuel à l'autre directement dans mamp.
Im courant mamp pro 2, lion de montagne. Le dossier Mes sites contient les dossiers de domaine individuels.
J'ai trouvé que si vous choisissez l'ip spécifique de l'ordinateur local sous l'hôte virtuel 'ip / port' et redémarrez mamp, ce domaine deviendra le domaine par défaut lors de la visualisation de l'adresse IP ou du nom de l'ordinateur des ordinateurs locaux sur le réseau.
À des fins de test, cela fonctionne très bien sur tous les appareils du réseau, y compris l'iPad. Si vous souhaitez tester un autre hôte virtuel, vous pouvez simplement renvoyer la configuration ip / port à "*", puis réaffecter un autre domaine à l'adresse IP de l'ordinateur et redémarrer.
L'avantage de cette approche simple est que vous pouvez donner accès aux clients directement à vos sites de développement lorsque vous êtes sur le même réseau sans avoir à passer par aucune configuration sur leur machine.
J'espère que cela aidera tous ceux qui recherchent une solution simple.
la source
Le serveur DNS interne est l'une des options mais c'était trop compliqué à mettre en œuvre. Nous avons essayé d'installer squid en tant que serveur proxy, mais cela n'a pas non plus fonctionné car il redirigeait l'URL vers un nouveau serveur et cette redirection était également visible sur l'URL du navigateur.
La chose qui a finalement fonctionné pour nous était d'installer Fiddler sur l'un des serveurs et d'utiliser ce serveur comme serveur proxy sur ipad. Fiddler a également une fonction pour mapper les sous-domaines à l'adresse IP, c'est-à-dire quelque chose de similaire à / etc / hosts.
la source
Beau tutoriel pour le faire: http://egalo.com/2012/05/29/testing-mac-web-site-using-local-hostname-on-mobile-device/
Un autre moyen consiste à connecter l'iPad via un hotspot local à mon MAC OS X et à établir une redirection de port vers la VM de développement. Pour y parvenir, j'ai suivi les étapes suivantes:
ssh -NL <IP-of-hotspot-host>:<source-port>:<url-to-local-vm>:80 <user-to-vm>
<IP-of-hotspot-host>:<source-port>
Où obtenir 'IP-of-hotspot-host':
Une fois le hotspot créé, il y a un point WLAN dans
les paramètres système MAC OS X >> Réseau >> WLAN
Ajout de ServerAlias:
Sur ma VM de développement (Apache2) dans /etc/apache2/sites-available/dkr.dev.local, j'ai dû ajouter ce qui suit:
la source
Si vous avez exploré ceci, et quelques-uns des liens externes, vous trouverez probablement cette réponse:
https://stackoverflow.com/a/24770097/3842985
Il s'agit d'un serveur DNS léger appelé dnsmasq. Super simple, très puissant et peut être utilisé en conjonction avec vos serveurs DNS internes ou externes.
Beaucoup plus facile que d'installer squid, de jouer avec Apache et d'autres techniques qui prendraient beaucoup de temps et risqueraient de mettre en danger «l'intégrité» des configurations, développer des environnements, tester des environnements, etc.
Cela vaut la peine d'être considéré.
J'ai adopté cela comme un outil régulier de développement et de réseautage normal.
la source
L'utilisation d'un serveur DNS personnalisé sur PC peut résoudre ce problème. J'utilise et je travaille parfaitement.
Vérifiez https://technitium.com/dns/ pour télécharger le serveur DNS personnalisé. Qui est construit en utilisant la technologie .Net. Après avoir configuré cet outil, vous devez modifier le paramètre DNS sur personnalisé et définir l'IP de votre PC. Pour éviter de changer d'IP à chaque redémarrage du PC, utilisez une adresse IP statique sur le PC.
la source
J'essaierais Relay Server (qui fait partie d'Afaria) qui peut rediriger le trafic mobile en fonction des profils.
Mise à jour: la réponse de tremoloqui semble moins problématique et beaucoup moins chère.
la source
Les réponses ici sont correctes. Un peu plus de connaissances: cela ne fonctionnera pas avec l'épinglage de certificat. Ce que vous pouvez faire, c'est soit (1) utiliser un certificat générique de domaine pour prendre en charge vos tests de région dev / test / qa. Et / ou (2) utilisez un serveur proxy inverse tel qu'Apache par lequel vous changez l'endroit où Apache achemine les requêtes au sein de votre réseau. Maintenant, lorsque vous vous lancez dans les tests d'épinglage SSL, vous êtes mort dans l'eau avec les appareils physiques et ne pouvez valider qu'avec un simulateur (ios) et un émulateur (Android).
la source