Wie stelle ich von einem anderen Computer im selben Netzwerk eine Verbindung zu diesem lokalen Host her?
Ich bin derzeit an einem Projekt arbeiten und ich möchte es zu testen auf zwei laptops zu Hause, wo ein laptop mit dem localhost auf dem anderen. Ich bin mit XAMPP. Wie mache ich das?
InformationsquelleAutor der Frage user1219572 | 2012-03-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist das definitiv möglich. Nehmen wir einen Allgemeinen Fall mit Apache hier.
Sagen wir, du bist ein großes Symfony2-fan und Sie möchte Zugriff auf Ihre symfony-website unter
http://symfony.local/
von 4 verschiedenen Computern (die wichtigste hosting Ihrer website, als auch auf einem Mac, einem Windows-und eine Linux-Distribution verbunden (WLAN oder nicht) auf dem primären computer.Allgemeinen Skizze:
1 virtuelle host einrichten:
Zuerst müssen Sie zum einrichten eines virtuellen host in der apache -
httpd-vhosts.conf
- Datei. Auf XAMP, können Sie finden diese Datei hier:C:\xampp\apache\conf\extra\httpd-vhosts.conf
. Auf MAMP, können Sie finden diese Datei hier:Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
. Dieser Schritt bereitet der Web-server auf Ihrem computer für die Handhabungsymfony.local
Anfragen. Sie müssen den Namen des Virtuellen Hosts sowie der root - /Haupt-Ordner Ihrer website. Um dies zu tun, fügen Sie die folgende Zeile am Ende der Datei. Sie müssen dieDocumentRoot
an, wo dein main-Ordner ist. Hier habe ich genommen/Applications/MAMP/htdocs/Symfony/
als die Wurzel meiner website.2 Konfigurieren Sie Ihre hosts-Datei:
Für den client (Ihren browser in diesem Fall) um zu verstehen, was
symfony.local
wirklich bedeutet, müssen Sie Bearbeiten Sie die hosts-Datei auf Ihrem computer. Jedes mal, wenn Sie geben Sie eine URL in Ihren browser, Ihr computer versucht, zu verstehen, was es bedeutet!symfony.local
bedeutet nicht, dass alles, was für einen computer. So wird es versuchen, den Namen aufzulösensymfony.local
zu einer IP-Adresse. Es wird dazu zuerst der Blick in die hosts-Datei auf Ihrem computer, um zu sehen, wenn er mit einer IP-Adresse zu dem, was Sie in die Adressleiste eingegeben. Wenn es nicht kann, dann fragt DNS-Server. Der trick hier ist, hängen Sie den folgenden, um Ihre hosts-Datei./private/etc/hosts
;/etc/hosts
;\Windows\system32\private\etc\hosts
;\Windows\system32\drivers\etc\hosts
;\Windows\system32\drivers\etc\hosts
;Hosts-Datei
Ab jetzt, jedes mal, wenn Sie geben Sie symfony.lokal auf diesem computer, Ihr computer wird die loopback-Schnittstelle zu verbinden, um symfony.local. Es wird verstehen, dass Sie arbeiten möchten, auf localhost (127.0.0.1).
3 Zugang
symfony.local
von einem anderen computer:Kommen wir endlich zu deiner wichtigsten Frage:
Gut, das ist jetzt ganz einfach! Wir brauchen nur zu sagen, die anderen Computern, wie Sie finden konnten
symfony.local
! Wie tun wir das?3a Holen Sie sich die IP-Adresse des Computers, der das hosting der website:
Müssen wir zuerst wissen, die IP-Adresse des Computers, der als Host der website (die, die wir gearbeitet haben seit Anfang an). Im terminal, auf MAC und LINUX Typ
ifconfig |grep inet
aufWINDOWS
Typipconfig
. Nehmen wir an, die IP-Adresse dieses Computers ist 192.168.1.5.3b Bearbeiten Sie die hosts-Datei auf dem computer, den Sie versuchen, Zugriff auf die website aus.:
Wieder auf MAC, diese Datei ist in
/private/etc/hosts
; auf LINUX, in/etc/hosts
; und auf WINDOWS, in\Windows\system32\private\etc\hosts
(wenn Sie WINDOWS 7, diese Datei ist in\Windows\system32\drivers\etc\hosts
).. Der trick ist jetzt die IP-Adresse des computer, den wir zugreifen wollen/sprechen:4 Schließlich genießen Sie die Ergebnisse in Ihrem browser
Gehen Sie jetzt in Ihren browser und geben Sie
http://symfony.local
wunderschön zu sehen, Ihre website auf verschiedenen Computern! Beachten Sie, dass Sie anwenden können, die gleiche Strategie, wenn Sie ein OSX-Benutzer zu testen Sie Ihre website auf Internet Explorer über Virtual Box (wenn Sie nicht wollen, um einen Windows-computer verwenden). Das ist sehr schön erklärt in Crafting Ihre Windows - /IE-Test-Umgebung auf OSX.Sie können auch auf Ihren localhost von mobilen Geräten
Fragen Sie sich vielleicht, wie Sie den Zugriff auf Ihre localhost-website von einem mobilen Gerät. In einigen Fällen, werden Sie nicht in der Lage, ändern Sie die hosts-Datei (iPhone, iPad,...) auf Ihrem Gerät (Jailbreak ausgeschlossen).
Gut, die Lösung ist die Installation eines proxy-server auf dem Rechner, hosting der website und die Verbindung zu diesen proxy von deinem iphone. Es ist eigentlich sehr gut erklärt in den folgenden posts und ist nicht so lange zum einrichten:
Auf einem Mac würde ich empfehlen: Testen eines Mac OS X-Website mit einem lokalen Hostnamen auf einem mobilen Gerät: Mit SquidMan als proxy. Es ist eine 100% Kostenlose Lösung. Manche Menschen können auch Charles als proxy-server, aber es ist 50$.
Unter Linux, können Sie sich die Mac-OS Weise, die oben mit Squid als proxy-server.
Auf Windows, Sie können tun, dass mit Fiddler. Die Lösung ist beschrieben in dem folgenden Beitrag: Überwachung iPhone der Verkehr mit Fiddler
Bearbeiten 23/11/2017: Hey ich will nicht zu ändern, meine Hosts-Datei
Dies ist eine interessante Frage, und es ist in Bezug auf die OP-Frage, lassen Sie mich helfen.
Würden Sie zu tun haben, eine änderung in Ihrem Netzwerk, so dass jede Maschine weiß, wo Ihre website gehostet wird. Die meisten alltäglichen Router nicht tun , so würden Sie Ihr eigenes DNS-Server in Ihrem Netzwerk.
Let ' s pretend Sie haben einen router (192.168.1.1). Dieser router hat einen DHCP-server und vergibt IP-Adressen, um 100 Maschinen auf dem Netzwerk.
Nun, sagen wir, Sie haben, wie oben beschrieben, auf dem gleichen Netzwerk, eine Maschine zur
192.168.1.5
hat Ihre website. Wir nennen diese Maschine pompei.Gleiche wie vorher, die Maschine pompei bei
192.168.1.5
läuft ein HTTP-Server die dient, Ihrer websitesymfony.local
.Für jede Maschine, zu wissen, dass
symfony.local
gehostet wird, die auf Pompeji zu werden, müssen wir eine benutzerdefinierte DNS-Server auf dem Netzwerk, das weiß, wosymfony.local
gehostet wird. Geräte im Netzwerk werden dann in der Lage sein, um Domänennamen aufzulösen serviert von pompei intern.3 einfachen Schritten.
Schritt 1: DNS-Server
Einrichten eines DNS-Servers in Ihrem Netzwerk. Wir haben es auf Pompeji für die Bequemlichkeit und verwenden Sie so etwas wie dnsmasq.
Wollen wir Pompeji zu laufen, DNSmasq, um die DNS-Anfragen
Hey, pompei, where is symfony.local
und reagierenHey, sure think, it is on 192.168.1.5 but don't take my word for it
.Go ahead installieren dnsmasq, dnsmasq-Konfigurationsdatei ist in der Regel in
/etc/dnsmasq.conf
je nach Ihrer Umgebung.Ich persönlich benutze
no-resolv
- und google-Servernserver=8.8.8.8 server=8.8.8.4
.*Hinweis:* IMMER DNSmasq neu gestartet werden, wenn Sie /etc/hosts-Datei, da keine änderungen werden wirksam, sonst.
Schritt 2: Firewall
Arbeiten, pompei muss, damit eingehende und ausgehende 'domain' - Pakete, die von und zu port 53. Natürlich! Dies sind die DNS-Pakete, und wenn Pompeji nicht erlaubt, es gibt keine Möglichkeit für den DNS-server erreicht werden alle. Gehen Sie voran und öffnen Sie diesen port 53. Unter linux würde man klassisch verwenden
iptables
.Teilen, was ich kam mit, aber Sie werden sehr wahrscheinlich Tauchen Sie ein in Ihre firewall und alles verstehen.
Schritt 3: Router
Erzählen Sie Ihren router, Ihre dns-server auf
192.168.1.5
jetzt. Die meisten der Zeit, können Sie melden Sie sich einfach an Ihren router an und ändern Sie diese manuell sehr leicht.Ist es, Wenn Sie auf einer Maschine und Fragen Sie nach
symfony.local
es wird Fragen Sie Ihren DNS-Server wosymfony.local
gehostet wird, und, sobald es empfangen hat, die Antwort vom DNS-server, dann senden Sie die korrekte HTTP-request zu Pompeji auf192.168.1.5
.Ich Sie spielen lassen und die Fahrt genießen. Diese 2 Schritte sind die wichtigsten Richtlinien, so haben Sie, um debug-und verbringen Sie ein paar Stunden, wenn dies das erste mal Sie es tun. Lassen Sie uns sagen, das ist ein bisschen mehr advanced networking gibt es primäre DNS-Server, sekundärer DNS-Server, etc.. Viel Glück!
InformationsquelleAutor der Antwort Mick
Vorausgesetzt, beide Rechner sind in der gleichen Arbeitsgruppe, öffnen
cmd.exe
auf der Maschine, die Sie eine Verbindung herstellen möchten, geben Sieipconfig
und notieren Sie sich die IP bei derIPv4 Address
Linie.Dann auf die Maschine, die Sie verbinden möchten, verwenden Sie
http://+ the IP of the target machine
.Das sollte es tun.
InformationsquelleAutor der Antwort Codrin Eugeniu
kann es sein, dass Ihre firewalls verhindern, dass Sie Zugriff auf die localhost - webserver.
Legen Sie die IP-Adressen der beiden Computer " internet security antivirus-Netzwerk-security-wie sicher ist IP-Adressen, wenn erforderlich.
So finden Sie die IP-Adresse Ihres windows-PC: Start - > (Ausführen) gib ein: cmd (Enter)
(Dieser öffnet die black box, Eingabeaufforderung)
geben Sie ipconfig (Enter)
Lassen Sie uns sagen, dass Ihre Apache-oder IIS-webserver installiert ist, auf Ihren PC: 192.168.0.3
und Sie wollen Zugang zu Ihrem webserver, die mit Ihrem laptop. (laptop IP ist 192.168.0.5)
Auf Ihrem PC, geben Sie in: http://localhost/in Ihrem Firefox oder Internet Eplorer-browser Zugriff auf Ihre Daten auf Ihren webserver.
Auf Ihrem laptop, die Sie geben http://192.168.0.3/Zugang zu Ihrem webserver auf Ihrem PC.
Für all diese Dinge zu arbeiten, die Sie benötigen installiert haben, die ein webserver korrekt (z.B. IIS, Apache, XAMP, WAMP etc).
Wenn es nicht funktioniert, versuchen Sie, ping für Ihren PC, vom laptop aus:
Öffnen-Befehl propmt auf dem laptop: Start - > cmd (Enter)
ping 192.168.1.3 (Enter)
Wenn der Ping fehlschlägt, dann firewalls blockieren, Ihrer Verbindung oder Ihrem Netzwerk-Verkabelung ist fehlerhaft. Starten Sie Ihr modem oder Netzwerk-switch und Ihre Maschinen.
Schließen Programme wie chat-Programme, die über Ihre ports.
Sie können auch versuchen, eine andere port-Nummer:
http:192.168.0.3:80 oder http:192.168.0.3:81 oder eine zufällige Zahl an das Ende
InformationsquelleAutor der Antwort KarlosFontana
Dieses tool hat mich gerettet eine Menge, da ich keine Admin-Berechtigung auf meinem Rechner und hatte schon nodejs installiert. Aus irgendeinem Grund die Konfiguration auf mein Netzwerk hat mir nicht den Zugang zu anderen Maschinen einfach auf die IP über den browser.
http://www.browsersync.io/docs/command-line/
InformationsquelleAutor der Antwort Ventura
Dies ist eine Randnotiz, wenn man noch keinen Zugriff auf localhost von anderen Geräten nachdem Sie durch den oben genannten Schritt. Dies könnte darauf zurückzuführen sein, um die apache-ports.conf konfiguriert wurde, um zu dienen, lokal (127.0.0.1) und nicht außerhalb.
überprüfen Sie die folgenden, (für ubuntu apache2)
wenn der folgende Satz,
dann ändern Sie es zurück zu den default-Wert
InformationsquelleAutor der Antwort ken
Für die Prüfung auf beiden laptops auf dem gleichen WLAN und über das internet könnten Sie einen Dienst wie http://localhost.run/ oder https://ngrok.com/
InformationsquelleAutor der Antwort tommyvn
Unter Mac OS X:
Im terminal ausführen
ifconfig | grep 192.
zu bekommen die interne IP von deinem Rechner auf dem aktuellen Netzwerk. Es kann etwas sein wie192.168.1.140
Einen server starten. Zum Beispiel
node server.js
kann einen server starten, auf irgendeinem port.Auf Ihrem Telefon, Besuch
192.168.1.140:3000
oder was auch immer port auf dem der server läuft.InformationsquelleAutor der Antwort Raphael Rafatpanah
Wenn Sie auf Windows verwenden ipconfig, die lokale IPv4-Adresse, und geben Sie dann, unter der Apache-Konfigurationsdatei: httpd.conf, wie:
Starten Sie Ihren Apache-server und testen Sie es von einem anderen computer auf dem Netzwerk.
InformationsquelleAutor der Antwort shasi kanth