Ich entwickle derzeit auf meinem Desktop-Computer ein mobiles PHP-Projekt auf localhost
(oder genauer gesagt eine lokal gehostete Website, erreichbar unter http://azgoth/
) und möchte überprüfen, wie das Design in den verschiedenen Browsern meines Telefons aussieht. Da sich das Projekt jedoch auf meinem Computer und nicht im öffentlichen Netz befindet, ist mir dies nicht möglich.
Sowohl mein Desktop-Computer als auch mein Smartphone sind über denselben Router mit dem Internet verbunden. Daher habe ich mich gefragt, ob es möglich wäre, den http://azgoth/
Zugriff auf mein Smartphone auf ähnliche Weise zu ermöglichen, wie mein Desktop-Computer darauf zugreift, ohne dass es öffentlich und für alle sichtbar ist.
Betriebssystem:Windows XP SP 3
Service:Apache HTTPD
Router:D-Link DIR-300FTP-Verzeichnis
Antwort1
Vor dem Optimieren der Firewall-Einstellungen / Schnellmethode:
Warnung: Machen Sie dies nicht dauerhaft, wenn Sie nicht bereit sind, die Sicherheit Ihres Routers und Betriebssystems zu überprüfen, da hierdurch Dienste (Webserver und andere) für die Öffentlichkeit zugänglich gemacht werden könnten.
Unsichere, aber schnelle Möglichkeit, es zu testen (kann funktionieren oder nicht):1.Deaktivieren Sie Ihre Firewall.2.Stellen Sie per Telefon eine Verbindung zur IP Ihres Computers her.3.Beten Sie einen Moment.
Für eine ausführlichere Erklärung und Checkliste aktivieren Sie Ihre Firewall und lesen Sie weiter.
Richten Sie Ihre Serversoftware (Computer) ein.
Hier finden Sie Konfigurationsdateienapache-virtual-hosts-xp.htmlunter der Überschrift "Grundlegendes zur Ordnerstruktur des Apache-Servers". Ihre Serversoftware (Apache) sollten zuhören (Apache 2.0 / Bindung) auf dem Netzadapter, der mit dem Router verbunden wird.
Es ist wahrscheinlich, dass Apache bereits auf allen gefundenen Adaptern lauschtund es besteht keine Notwendigkeit für die Konfiguration, in diesem Fall enthält die Konfigurationsdatei Folgendes (Listen 0.0.0.0:80
zählt auch hier):
Listen 80
Wenn es Folgendes enthält:
Listen 127.0.0.1:80
Ändern Sie diese Zeile in die erste oder fügen Sie die IP-Adresse Ihres Computers Listen 192.168.0.100:80
hinzu .192.168.0.100
DanachApache neu startenum neue Einstellungen neu zu laden und zu testen, ob Sie mit Ihrem Telefon eine Verbindung zur IP-Adresse (lokale IP) Ihres Computers herstellen können.
Wenn die Verbindung fehlschlägt, fahren Sie mit der Routing-Einrichtung fort:
Möglicherweise müssen Sie Ihren Router so konfigurieren, dass der Zugriff zulässig ist, und die Firewall Ihres Computers so konfigurieren, dass eingehende Verbindungen zulässig sind.
Sie sollten die Konfiguration Ihres Routers überprüfen. Bei manchen WLAN-Routern ist eine Konfiguration über Kabel erforderlich. Lesen Sie dazu im Handbuch Ihres Routers nach (oder versuchen Sie einfach, eine Verbindung zur IP Ihres Routers herzustellen).
Einrichtung der IP-Adresse (Router):
[Erforderlich]Stellen Sie sicher, dass Ihr Router den Clients IP-Adressen zur Verfügung stellt (siehe DHCP-Setup im Routerhandbuch) und dass die verwendeten IP-Adressen innerhalbprivater Adressbereich (IPv4).
[Optional]Stellen Sie sicher, dass auf Ihrem Computer (Server) IP-Adresse statisch, indem Sie sie der MAC-Adresse des Netzwerkadapters Ihres Computers zuweisen. Auf diese Weise wird sichergestellt, dass die von Ihnen gewählte IP-Adresse für Ihren Computer verfügbar und zugewiesen ist.
[Wechseln]IP-Adressen können auch statisch sein. Wenn Sie statische Adressen verwenden, sollten Sie jedoch sicherstellen, dass Sie die IP-Adresse Ihres Telefons manuell einstellen können.
Firewall-Setup (Router)
[Erforderlich]Suchen Sie zunächst nach den Firewall-Einstellungen und lassen Sie von dort aus eingehende Verbindungen (Port 80) zur IP-Adresse Ihres Computers zu. Eine andere Möglichkeit besteht darin, die IP-Adresse Ihres Computers in die DMZ zu setzen (Demilitarisierte Zone), was bedeutet, dass alle Filter und Firewalls für alle Ports und Protokolle deaktiviert sind.
[Wechseln]Es könnten auch mehr seinsicherer Wegum nur die MAC-Adresse Ihres Telefons zuzulassenbesserund/oder IP-Adresseschlimmerum eine Verbindung zu Ihrem Computer herzustellen, dies hängt alles vom Hersteller/Modell Ihres Routers ab.
Firewall-Setup (Computer)
[Erforderlich]Richten Sie die Firewall Ihres Computers so ein, dass eingehende Verbindungen entweder zu Ihrer HTTP-Serversoftware oder global zu Port 80 zugelassen werden. Je nach Betriebssystem und Firewallsoftware gibt es wiederum unterschiedliche Möglichkeiten, die Dinge zu regeln.
Einige Dinge, die helfen könnten:
Wenn die IP-Adressen Ihres D-Link-RoutersDHCPes könnte sein, dasshttp://192.168.0.1öffnet das Konfigurationsprogramm für Sie. Wenn nicht, Ihr Computer aber trotzdem eine IP vom Router erhält, überprüfen Sie die Netzwerkkonfiguration Ihres Computers (IP-Adresskonfiguration) fürTor, dies ist wahrscheinlich die IP-Adresse Ihres Routerswenn es sich im privaten Bereich befindet?.
Antwort2
Eine andere Alternative besteht darin, Ihren lokalen Webserver einfach für das öffentliche Web sichtbar zu machen (vorübergehend oder dauerhaft, je nachdem, was Sie tun).
Dies ist wahrscheinlich die einfachste Lösung, vorausgesetzt, Sie verwenden einen der verfügbaren Localhost-Tunneling-Dienste (davon gibt es einige). Außerdem bietet es den Vorteil, dass Sie die Leistung über das Mobilfunknetz testen und auch Freunde/Familienmitglieder/Kollegen/... dazu bringen können, einen Blick darauf zu werfen.
Ich habe hierfür ein Tool namens PageKite geschrieben (https://pagekite.net/) und es gibt noch einige andere, zum Beispiel Localtunnel und Showoff.
Antwort3
Es gibt keinen Grund, dies unnötig zu verkomplizieren. Sie können einfach den Ratschlägen auf dieser Website folgen, aber anstatt eine Verbindung zu einem Visual Studio-Entwicklungsserver herzustellen, wählen Sie in der Adresse einfach „localhost“ aus. So mache ich es.
http://encosia.com/using-an-iphone-with-the-visual-studio-development-server/
Es erfordert die Verwendung von Fiddler 2 und könnte nicht einfacher sein. Dies würde natürlich nur für die Entwicklung funktionieren, ist aber eine wirklich schnelle und einfache Methode.
Ich weiß, dass die Website darauf ausgerichtet ist, es auf einem iPhone zu testen, aber es funktioniert mit jedem Telefon. Ich verwende für meine Tests ein Galaxy S3.
Hoffe das hilft.