Wie kann ich HTTP-Anfragen von einem iPad umleiten?
Da auf einem iPad können wir nicht Bearbeiten Sie die hosts-Datei (ohne Jailbreak), wie können wir beliebig umleiten von web-traffic auf eine andere url?
Dieses wäre wichtig für so etwas wie die Entwicklung einer website, die mithilfe einer Virtual-Host-Konfiguration, wo Sie umgeleitet werden sollen, eine Entwicklung Maschine.
(Dies ist im Zusammenhang mit dieser Frage: Kann ich die Bearbeiten-ein iPad ist eine host-Datei?)
InformationsquelleAutor der Frage tremoloqui | 2011-08-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Weg, um diese Einschränkung des iPad, ist die Nutzung eines HTTP-proxy-server, wie Squid läuft auf einer anderen Maschine, wo Sie können Bearbeiten Sie die hosts-Datei.
Auf dem iPad Unter Einstellungen -> Netzwerk -> WLAN -> (Netzwerk) Es ist ein HTTP-Proxy-Einstellung, die gesetzt werden können, um die manuelle. Geben Sie proxy-Informationen finden Sie hier.
Sobald dies eingerichtet ist, Sie wäre in der Lage zu manipulieren, das iPad, als wären Sie die änderung der hosts-Datei.
InformationsquelleAutor der Antwort tremoloqui
Fand ich Sie nur ändern müssen, um die WLAN-Einstellungen in Ihrem iPad verwenden Sie die IP-Adresse von Ihrem Entwicklungscomputer als HTTP-proxy (wie in der oben genannten Artikel):
So, es ist genug, um in der Lage sein, um Zugriff auf Ihre web-Anwendung auf Ihrem iPad durch Eingabe der url des virtuellen Hosts (z.B.
local.mywebapp.com
). Es ist einfach und schnell, aber im Gegensatz Werden Koehler ' s-Lösung, Sie wird jedoch nicht in der Lage sein, den Internet-Zugang auf dem iPad. Aber die meisten der Zeit es ist nicht wirklich ein problem, da Sie nur wollen, um zu testen, Ihre eigene Anwendung.InformationsquelleAutor der Antwort Stéphane
Setup die hosts-Datei auf einem computer mit einem proxy-server wie Fiddler oder Charles, und konfigurieren Sie das iPad verwenden, dass der computer als ein HTTP-proxy.
Hier sind Anweisungen, wie dies zu tun mit Fiddler:
http://conceptdev.blogspot.com/2009/01/monitoring-iphone-web-traffic-with.html
Und das ist für Charles:
http://www.ravelrumba.com/blog/ipad-http-debugging/
InformationsquelleAutor der Antwort sagi
Ich brauche zum testen von web-apps, die ich entwickle auf einem iPad. Ich benutze Apache auf meine dev-Maschine, zum ausführen von web-apps, also ist die einfachste Lösung, die ich fand, war der Einsatz von Apache mod_proxy.
Meine dev-Maschine, sichtbar ist auf meinem Heim-Netzwerk als Saphir.local.
Web-app, die ich Teste ist gehostet auf der dev-Maschine bei der demo.cms.dev (ich bin mit POW).
Konfiguration auf dem proxy, ich habe den folgenden Abschnitt, um httpd.conf.
Dieser leitet eingehende Anfragen auf Saphir.lokale demo.cms.dev. Die Methode funktioniert nur für eine app zu einem Zeitpunkt. Ich denke, man könnte verschiedene ports verwenden, um setup die zusätzlichen apps. Vielleicht hat ja jemand eine bessere Lösung?
InformationsquelleAutor der Antwort Will Koehler
Wenn Sie bereits ein Apache server, wo Sie tun dev, können Sie ganz einfach verwenden Sie es als forward-proxy. Dies ist besonders nützlich für WordPress-Seiten, die wirklich lieben, um die volle absolute URL.
Ubuntu Beispiel unten:
Der erste Schritt ist die Bearbeitung der
/etc/hosts
- Datei in Ihrem dev-server. Fügen Sie dem server die lokale IP, die auf Ihre Website verweisen.127.0.0.1 dev.mysite.com
Diese hosts-Datei Ihres Apache-proxy, wenn er versucht zu beheben, Anfragen von Ihrem iPhone /iPad. So lassen Sie die setup-Apache-Teil jetzt...
Müssen Sie möglicherweise die Installation einiger Module zuerst.
Dann erstellen Sie einen virtuellen host-Datei, zum Beispiel
/etc/apache2/sites-available/my-proxy
Enable-vhost und Apache neu starten:
Dann gehen Sie zu Einstellungen > WLAN-> Ihr Netzwerk und konfigurieren Sie eine "Manuelle" - proxy. Geben Sie die IP-Adresse des Apache-Servers und den port an. Das ist es!
Den
<Proxy *>
block sorgt dafür, dass nur Leute auf meiner lokalen Netzwerk können mit diesem proxy. Streng limitierten Zugang wesentlich ist wenn Sie einen forward proxy. Die ip2cidr Seite wird hilfreich sein, an dieser Stelle. (Als zusätzliche Maßnahme, die :8080 port ist geblockt von meiner firewall.)InformationsquelleAutor der Antwort Manuel Razzari
Es ist auch möglich, mit Weblock - AdBlock for iOS-app (verfügbar für $1.99 hier: https://itunes.apple.com/us/app/weblock/id558818638?mt=8) zum erstellen von web-traffic umleitet.
Dies ermöglicht Ihnen das umleiten Verkehr matching bestimmte Regel angegebenen IP-Adresse. Dies wird zu emulieren, fügen Sie einen Eintrag zu /etc/hosts auf Ihrem iOS-Gerät. Wenn der hostname einstellen Anfragen werden von der IP, die Sie direkt Ihren traffic, können Sie diese verwenden, um test private API oder sogar schnüffeln Sie den traffic von anderen Anwendungen oder websites. Leider funktioniert nur für http/https-verbindungen.
All dies kann nur getan werden, während auf Wi-Fi (eine von Weblock Einschränkungen). Es Hauptvorteil ist, dass Sie leicht konfigurieren können, alles aus Ihrem iOS-Gerät und es gibt keine Notwendigkeit zu Chaos mit DNS/proxy server-Konfiguration.
Hier ein Beispiel:
Weblock ist auch gut, um selektiv umleiten einige URL ' s mit regulären Ausdrücken.
Sie konnte redirect Anfragen zu bestimmten Endpunkt nur, während alle anderen Abfragen auf die IP zurückgegeben, die von der DNS. Das eigentlich noch mehr passende Konfiguration der /etc/hosts tut.
Beispiel:
Wenn ich einen URL-redirect-Regel für das htt*://somedomain.com/api/login* und die IP und den port, sehe ich nur den Datenverkehr von dieser URL an dieser IP-Adresse und port, während alle anderen Verkehr somedomain.com gehen direkt an die IP von DNS zurückgegeben wird. Bemerken wird es funktionieren, sowohl für /api/login und /api/login?someparam=somevalue Dank der wildcard * - Zeichen am Ende der Regel.
InformationsquelleAutor der Antwort koper
Könnten Sie setup ein interner DNS-server in Ihrem Netzwerk (falls nicht bereits vorhanden) und Einrichtung Eines a-record. Dann sicherstellen, dass der DHCP gesetzt ist, um zurückzukehren, sagte der DNS-server
InformationsquelleAutor der Antwort MASSPro
Machte ich es mit squidman auf dem Mac. Es ist einfach einzurichten und zu verwenden.
Ich habe es in 5 Minuten, indem Sie die folgenden dieser Artikel.
Update
Etwas anderes ist, wenn Sie eine Verbindung herstellen möchten, die websites laufen auf proxy-server, in meinem Fall ist es mein Mac, müssen Sie diese Zeile auskommentieren in squidman->Einstellungen->Template
InformationsquelleAutor der Antwort Lei Cao
Können Sie auch http://xip.io/ mithilfe der Anweisungen auf dieser Seite können Sie die ip-Adresse und leitet Sie an die jeweiligen lokalen ip.
InformationsquelleAutor der Antwort R Reveley
Wenn Sie eine live-website, die Sie dafür benutzen können:
Können Sie fügen Sie Einen a-record im DNS-Konfiguration: something.yourdomain.com die Punkte an Ihre lokale IP-Adresse, dann fügen Sie einen Eintrag für something.yourdomain.com zu Ihrer virtuellen hosts-Datei. Apache neu starten, erhalten Sie Ihr iOS-Gerät im selben Netzwerk und du bist gut zu gehen.
InformationsquelleAutor der Antwort Daniel Powers
Hier ist keine Konfiguration für cross-device/computer-Prüfung von Mamp Pro Virtuellen host. Die einzige Einschränkung ist, können Sie nur testen, einer Domäne zu einer Zeit, aber das ist für mich gut, wenn ich bin in der Entwicklung. Es ist wirklich einfach, aber der Wechsel zwischen virtuellen hosts direkt in mamp.
Im Laufenden mamp pro 2, mountain lion. Meine Websites-Ordner enthält die einzelnen domain-Ordner.
Ich gefunden, wenn Sie wählen Sie die bestimmte ip auf dem lokalen computer unter dem virtuellen host 'die ip /port' und starten Sie mamp dieser domain wird die default-domain, wenn die Anzeige der "localhost" Computer " die ip-Adresse oder computer-name, über das Netzwerk.
Für Testzwecke das funktioniert großartig auf allen Geräten auf dem Netzwerk, einschließlich der iPad. Wenn Sie möchten, testen Sie einen anderen virtuellen host können Sie einfach die ip/port config "*" und weisen Sie eine andere domain, um die Computer-ip-Adresse und starten.
Der Vorteil dieser einfachen Methode ist, können Sie clients direkt an Ihren entwicklungsstandorten, wenn Ihr auf dem gleichen Netzwerk, ohne sich durch irgendeine Konfiguration auf dem eigenen Rechner.
Hoffe, dies hilft jemand anderes suchen, für eine einfache Lösung.
InformationsquelleAutor der Antwort roborew
Internen DNS-Server ist eine option, aber das war zu umständlich zu implementieren. Wir haben versucht, die Installation von squid als proxy-server, der aber auch nicht funktioniert, denn es war die Umleitung der URL auf den neuen server und diese Umleitung zu sehen war, auf browser-URL auch.
Was schließlich arbeitete, war für uns die Installation Fiddler auf einem der server und verwenden diesen server als proxy-server auf dem ipad. Fiddler hat auch eine Funktion, um das anzeigen der sub-domains zu IP-Adresse, also etwas wie /etc/hosts.
InformationsquelleAutor der Antwort Deepak
Nettes tutorial dazu:
http://egalo.com/2012/05/29/testing-mac-web-site-using-local-hostname-on-mobile-device/
Einer anderen Art und Weise miteinander zu verbinden, IPad über den Lokalen Hotspot mit meinem MAC OS X herstellen und eine port-Weiterleitung auf die Entwicklung der VM.
Um dies zu erreichen I ' V getan, die folgenden Schritte:
ssh -NL <IP-of-hotspot-host>:<source-port>:<url-to-local-vm>:80 <user-to-vm>
<IP-of-hotspot-host>:<source-port>
Wo man 'IP-des-hotspot-host':
Erstellt nach hotspot-es gibt einen WLAN-Punkt
MAC OS X system-Einstellungen >> Netzwerk - >> WLAN
Hinzufügen der ServerAlias:
Auf meiner Entwicklungs-VM (Apache2) in /etc/apache2/sites-available/dkr.dev.lokale
Ich hatte Folgendes hinzufügen:
InformationsquelleAutor der Antwort Christian Waltjen
Wenn Sie erforscht haben diese, und ein paar der externen links, die Sie möglicherweise finden diese Antwort:
https://stackoverflow.com/a/24770097/3842985
Ist es über ein Licht-Wiegen DNS-server dnsmasq. Super einfach, sehr mächtig, und kann verwendet werden, in Verbindung mit Ihrer internen oder externen DNS-Server.
Viel einfacher als die Installation von squid, das hantieren mit Apache, und andere Techniken, die sehr zeitaufwändig wäre und das Risiko der "Integrität" von Konfigurationen zu entwickeln-Umgebungen, test-Umgebungen, etc.
Auch eine überlegung Wert.
Habe ich angenommen, dass als ein reguläres Instrument für die Entwicklung und für die normale Vernetzung.
InformationsquelleAutor der Antwort Carlos Cap
Ich würde versuchen Relay-Server (Teil der Afaria), die re-direct mobile Datenverkehr auf der Grundlage von Profilen.
Update: tremoloqui die Antwort scheint weniger Probleme und viel billiger.
InformationsquelleAutor der Antwort tomdemuyt
Antworten hier sind richtig. Ein bisschen mehr wissen: Diese funktioniert nicht mit cert-pinning. Was Sie tun können, ist entweder (1) verwenden Sie ein domain-wildcard-cert zur Unterstützung der dev - /test - /qa-region testen. Und/oder (2) verwenden Sie ein reverse-proxy-server wie Apache, wobei Sie änderung, wo der Apache leitet die Anfragen in Ihrem Netzwerk. Nun, wenn Sie sich in SSL-Pinning-Test, dann sind Sie tot in das Wasser mit den physikalischen Geräten und kann nur bestätigen mit simulator (ios) und dem emulator (android).
InformationsquelleAutor der Antwort codeslapper