Apache Server unter Windows 7 öffnet Ports?

20

Ich habe Apache 2.2.14 auf Windows 7 installiert und kann meine Web - Seiten mit beiden sehen http://localhostund http://127.0.0.1aber wenn ich versuche , auf dem gleichen Router den Server von einem anderen Computer zuzugreifen, es funktioniert nicht. Es schlägt auch fehl, wenn ich die zugeordnete DynDNS-Adresse verwende.

Dies hat unter Windows XP problemlos funktioniert, bevor ich auf Windows 7 aktualisiert habe.

Ich vermute, das Problem liegt darin, dass Port 80 nicht für den externen Zugriff auf den Computer geöffnet wird.

Weiß jemand, wie man diesen Port in der Windows-Firewall öffnet oder ob etwas anderes gesperrt ist und wie man ihn entsperrt?

WilliamKF
quelle

Antworten:

34

Gehen Sie folgendermaßen vor, um eine Regel in der Windows-Firewall für Port 80 hinzuzufügen:

  • Gehen Sie in die Systemsteuerung und starten Sie "Windows Firewall"
  • Gehe zu "Erweiterte Einstellungen"
  • Wählen Sie im linken Bereich "Eingehende Regeln" aus
  • Wählen Sie "Neue Regel" im rechten Bereich
  • Wählen Sie im Assistenten für neue eingehende Regeln als Regeltyp "Port" aus und klicken Sie dann auf "Weiter".
  • Wählen Sie "TCP und setzen Sie" 80 "(und alle anderen Ports, die Sie öffnen möchten) in" Bestimmte lokale Ports "und klicken Sie dann auf" Weiter ".
  • Wählen Sie "Verbindung zulassen" und klicken Sie dann auf "Weiter".
  • Wählen Sie den Netzwerkspeicherort aus, auf den die Regel angewendet werden soll (wählen Sie alle aus, wenn Sie sich nicht sicher sind), und klicken Sie dann auf "Weiter".
  • Geben Sie einen Namen und eine optionale Beschreibung an

Das sollte es tun.

Snark
quelle
2
Möglicherweise finden Sie in den Firewall-Einstellungen bereits eine eingehende Apache-Regel. Wenn Sie diese Regel untersuchen, finden Sie einige Einstellungen auf der Registerkarte "Allgemein". Eine davon ist "Aktion". Es gibt zwei Optionen: "Verbindung zulassen" und "Verbindung zulassen, wenn sie sicher ist". Sie können eine dieser Optionen nach eigenem Ermessen auswählen. Ich empfehle Ihnen jedoch, die "Anpassen" -Optionen der letzteren zu lesen und zu verstehen.
Aaron Newton
Tipps: Sie werden der Lage sein , diesen Hafen zu besuchen, aber Sie können nach wie vor nicht in der Lage sein, ping die IP!
Fzyzcjy
3

Es scheint, dass die Windows 7-Firewall Angst vor dem 80-Port hat.

Diese Ports werden geöffnet, wenn Sie dies folgendermaßen konfigurieren:

Apache-Server → UDP → alle Ports.
Apache-Server → TCP → alle Ports.

Das ist schlecht, da Apache normalerweise mit bestimmten Ports arbeitet (ich meine 80, einige verwenden 8080 und 443), aber ich habe keine andere Möglichkeit gefunden, um die Apache-Firewall-Regeln zum Laufen zu bringen.

Sergio Abreu
quelle
2

Es hört sich so an, als müssten Sie der Windows-Firewall eine Ausnahme (Port 80) hinzufügen.

Ich bin sicher, dass dies erreicht werden kann, indem Sie die Firewall-Systemsteuerung öffnen und ein wenig herumklicken. In XP war es zumindest ziemlich einfach.

Das Problem könnte auch sein, dass Apache nur für das Abhören der Loopback-Schnittstelle konfiguriert ist. Sie können dies testen, indem Sie netstat ausführen oder versuchen, die andere Adresse Ihres Computers zu besuchen, z. B. http://192.168.1.101/.

user23307
quelle
2

Ich arbeite nur für mich. Ich habe die Ausnahmeregel für Port 80 der Windows-Firewall erstellt. Ich verwende Windows 7 auf dem Laptop und OSX Leopard auf meinem Mac. Die Ausnahme allein hat das Problem nicht behoben. Ich habe dann die Firewall ausgeschaltet und konnte von meinem Mac aus eine Verbindung zum Apache auf dem Laptop herstellen. Was das Problem wirklich löste, war in der Systemsteuerung> Netzwerk- und Freigabecenter. Ich habe die Einstellungen für das aktive Netzwerk geändert und als Heimnetzwerk festgelegt. Wenn Sie die Win-Firewall aktivieren, sollte das Heimnetzwerk (privat) verbunden sein

Ricardo
quelle
+1, ich musste auch eine Heimnetzgruppe für das aktuelle Netzwerk auswählen, damit die Regel funktioniert. Danke @ricardo.
Rishimaharaj
1

Versuchen Sie, sowohl den Port Ihres Routers für Ihren Computer zu öffnen als auch die Windows-eigene Firewall zu überprüfen.

Denken Sie daran, dass bei einer Neuinstallation von Windows möglicherweise ein anderes DHCP-Lease und eine andere IP-Adresse verwendet werden, sodass der Router diese möglicherweise nicht mehr ordnungsgemäß weiterleitet.

Darüber hinaus muss Ihr Router "Nat Loopback" unterstützen, da Sie sonst einfach keine Verbindung herstellen können. Ich gehe jedoch davon aus, dass er dies unterstützt, wie Sie bereits sagten, dass es funktioniert hat. Um dies zu überprüfen, rate ich Ihnen dringend, Hide My Ass oder Proxify zu verwenden .

William Hilsum
quelle
> Möglicherweise haben Sie eine andere IP-Adresse, sodass der Router diese möglicherweise nicht mehr korrekt weiterleitet. Einverstanden! Ich "portiere" meine WordPress-Installation, damit ich sie problemlos von überall aus hosten kann. Ich habe es vor Ort zum Arbeiten gebracht, aber es ist für die Welt gesperrt. In der Windows-Firewall gibt es bereits eine Ausnahme, da ich bei entsprechender Aufforderung " Zulassen" angegeben habe. Daher habe ich den Router überprüft und sicher genug festgelegt, dass Port 80 an die IP-Adresse meines Desktops weitergeleitet wird. Natürlich ist es nicht gut, es auf den Laptop umzustellen. Ich habe stattdessen einen Port-Trigger zugewiesen und funktioniert nun von jedem angeschlossenen System aus.
Synetech
1

Neben der Überprüfung der Firewall und der Überprüfung, ob Apache nur die localhost-Adresse abhört, können / sollten Sie auch Ihre .htaccessDateien überprüfen . Die neu installierte Version hat möglicherweise eine restriktivere Sicherheitsrichtlinie implementiert.

Einige Tutorials auf .htaccess

pcapademic
quelle
0

Anscheinend liegt ein Problem mit der Windows 7-Firewall vor. Wenn ich die Firewall ausschalte, funktioniert sie ordnungsgemäß. Jetzt muss ich nur noch herausfinden, wie die Firewall aktiv ist, aber Port 80-Verbindungen zulassen.

WilliamKF
quelle