Zu Hause habe ich ein einfaches Netzwerk-Setup mit 2 Maschinen.
Auf einem Computer habe ich eine Site, die mit IIS7 gehostet wird. Anstelle der Standardadresse habe localhost/index.htm
ich einen Eintrag in die HOSTS
Datei eingefügt, der auf die lokale IP (127.0.0.1) dieser Domäne verweist www.mysite.dev
.
Ich kann www.mysite.dev
problemlos auf die Website zugreifen .
Ich möchte diese Site von meinem anderen Computer im Netzwerk aus anzeigen können.
Anfangs habe ich angenommen, dass dies mit einer solchen URL möglich ist
MACHINE-NAME/www.mysite.dev
, aber die Verbindung läuft immer ab. Aber ich kann MACHINE-NAME
ohne Probleme pingen .
Zu Testzwecken habe ich die Windows-Firewall auf beiden Computern deaktiviert, aber zu keiner Freude.
Wie bei einem typischen Webentwickler sind meine Hardware- / Netzwerkfähigkeiten ziemlich schlecht.
Kann jemand sehen, wo ich falsch liege?
quelle
Antworten:
Wie bereits erwähnt, muss Ihre Firewall so konfiguriert werden, dass eingehende Anrufe über TCP-Port 80 angenommen werden .
in Win 7+ (einfache Art der Zauberei)
Da ausgehender Datenverkehr (vom Server zur Außenwelt) standardmäßig zulässig ist, bedeutet dies beispielsweise http-Antworten, die der Webserver an externe Benutzer und Anforderungen zurücksendet
Aber eingehender Verkehr (aus Außenwelt auf den Server) blockiert standardmäßig wie der Benutzer Web - Anfragen mit Ursprung aus ihrem Browser , der nicht auf den Webserver standardmäßig erreichen kann , und Sie müssen es öffnen.
Auf dieser Seite können Sie sich auch eingehende und ausgehende Regeln genauer ansehen
quelle
mmc.exe wf.msc
.Wenn Sie eine Website an einem bestimmten Port in IIS wie 4321 hosten, müssen Sie diesen Port auch über die Windows-Firewall zulassen. Hier sind die Schritte, die ich zusammen mit der Antwort des Imanabidi befolgt habe , damit es für mich funktioniert:
quelle
Versuchen Sie zunächst, eine Verbindung zur LAN-IP Ihres Servers herzustellen. Wenn IIS nur mit einer Website eingerichtet ist, wird Ihre Website wahrscheinlich angezeigt.
Wenn Sie über den Namen darauf zugreifen möchten, müssen Sie einen Eintrag in die HOSTS-Datei jedes Client-PCs einfügen, mit dem Sie die Site anzeigen möchten (nicht auf 127.0.0.1, sondern auf die lokale IP-Adresse Ihres Servers).
Außerdem muss Ihre Firewall so konfiguriert sein, dass eingehende Anrufe an Port 80 angenommen werden.
Dies ist normalerweise der Punkt, an dem es sinnvoller ist, einen DNS-Dienst einzurichten, bei dem Sie Namen wie "mysite.dev" zentral registrieren können, ohne sich mit Hosts-Dateien beschäftigen zu müssen. Aber das ist eine andere Geschichte und gehört zu superuser.com oder serverfault.com.
quelle
Öffnen Sie die Firewall-Einstellungen. Suchen Sie dann nach etwas wie - Programm oder Funktion durch Firewall zulassen. Wenn in der Liste World Wide Web Services (HTTP) deaktiviert ist, überprüfen Sie diese und starten Sie das System neu.
Unsere Maschine ist bereit, eingehende Anfragen anzunehmen.
quelle
Sehr späte Antwort, aber ich werde einen Punkt hervorheben, da ich mich vor Jahren damit befassen musste, meine IIS-Site netzwerkübergreifend einzurichten
168.192.x.x
oder über auf Ihren Remote-Computer zuhttp://his-pc-name
(vergessen Sie nicht den http-Teil).Stellen Sie sicher, dass Ihr IIS auf dem Remotecomputer ordnungsgemäß funktioniert, indem Sie überprüfen,
localhost
welcher Standort die Standardwebsite bedienen soll. Stellen Sie außerdem sicher, dass Ihre Firewall so konfiguriert ist, dass eine Verbindung über Port 80 möglich ist, oder deaktivieren Sie die Firewall vorerst zu Testzwecken.quelle
Vergessen Sie nicht, neben der Änderung Ihrer Firewall auch die Portbindung hinzuzufügen!
Öffnen
$(SolutionDir)\.vs\config\applicationHost.config
und finden Sie verbindliche Definitionen, sollte so etwas seinFügen Sie einfach zusätzliche Zeilen hinzu, um die IP-Adresse Ihres Computers und den angegebenen Port wiederzugeben
Quelle: https://blog.falafel.com/expose-iis-express-site-local-network/
quelle
Es hat bei mir funktioniert
quelle
Es kann spät sein, aber für jede andere Person, die in Zukunft ein solches Problem bekommt, für alle Verbindungen, die Sie zum Server herstellen möchten (in diesem Fall den Computer, auf dem die Webanwendung gehostet wird, unabhängig davon, ob es sich um iis oder xampp handelt) müssen Verbindung oder Datenverkehr über den spezifischen Port zulassen, der in der Firewall verwendet wird
und du fertig
quelle
Nach der Installation von Antivirus trat dieses Problem auf und ich bemerkte, dass meine Firewall automatisch aktiviert wurde. Jetzt habe ich die Firewall einfach ausgeschaltet und mein Problem behoben. Hoffe es wird jemandem helfen :)
quelle
127.0.0.1 zeigt immer auf localhost. In Ihrem Heimnetzwerk sollte Ihnen eine IP-Adresse von Ihrem Internet-Router zugewiesen sein (dsl / cablemodem / was auch immer). Sie müssen Ihre Website an diese Adresse binden. Sie sollten dann in der Lage sein, den Computernamen zu verwenden, um zur Website zu gelangen. Ich würde jedoch empfehlen, die Hosts-Datei des betreffenden Client-Computers tatsächlich zu bearbeiten, um einen bestimmten Namen auf diesen Computer zu verweisen. Die Hosts-Datei befindet sich unter c: \ windows \ system32 \ drivers \ etc \ hosts (Notepad verwenden). Der Eintrag sieht folgendermaßen aus:
quelle
Sie müssen die folgenden Schritte ausführen.
Gehen Sie zu IIS ->
Sites -> Klicken
Sie auf Ihre Website ->
In Aktion. Klicken Sie auf Berechtigungen bearbeiten ->
Sicherheit ->
Klicken Sie auf HINZUFÜGEN ->
Erweitert ->
Jetzt suchen -> Alle Benutzer hinzufügen
->
und erteilen Sie alle Berechtigungen an andere Benutzer ->
klicken Sie auf OK.
Wenn Sie die oben genannten Schritte ordnungsgemäß ausführen, können Sie über Ihre Domain auf Ihre Website zugreifen.
Vorschlag - Fügen Sie Ihrer Site keinen Hostnamen hinzu, da dies irgendwann zu Problemen führen kann. Hosten Sie Ihre Website daher unter Verwendung der IP-Adresse Ihres Computers.
quelle