Serwer Apache na Windows 7 otwiera porty?

20

Mam zainstalowany Apache ppkt 2.2.14 na Windows 7 i można zobaczyć na moich stronach internetowych przy użyciu zarówno http://localhosta http://127.0.0.1, ale gdy próbuję uzyskać dostęp do serwera z innego komputera w tym samym routerze, to się nie powiedzie. Nie działa również, gdy używam zmapowanego adresu DynDNS.

Działa to dobrze w systemie Windows XP przed uaktualnieniem do systemu Windows 7.

Podejrzewam, że problem polega na tym, że port 80 nie jest otwierany dla zewnętrznego dostępu do komputera.

Czy ktoś wie, jak otworzyć ten port w Zaporze systemu Windows lub czy coś innego jest zablokowane, co to jest i jak go odblokować?

WilliamKF
źródło

Odpowiedzi:

34

Aby dodać regułę w Zaporze systemu Windows dla portu 80, wykonaj następujące czynności:

  • Przejdź do Panelu sterowania i uruchom „Zaporę systemu Windows”
  • Przejdź do „Ustawień zaawansowanych”
  • Wybierz „Reguły ruchu przychodzącego” w lewym okienku
  • Wybierz „Nowa reguła” w prawym panelu
  • W Kreatorze nowych reguł przychodzących wybierz „Port” jako typ reguły, a następnie kliknij „Dalej”
  • Wybierz „TCP i wpisz„ 80 ”(i wszelkie inne porty, które chcesz otworzyć) w„ Określonych portach lokalnych ”, a następnie kliknij„ Dalej ”
  • Wybierz „Zezwalaj na połączenie”, a następnie kliknij „Dalej”
  • Wybierz lokalizację sieciową, do której reguła powinna mieć zastosowanie (wybierz je wszystkie, jeśli nie masz pewności), a następnie kliknij przycisk „Dalej”
  • Podaj nazwę i opcjonalny opis

Że należy to zrobić.

Snark
źródło
2
Może się okazać, że w ustawieniach zapory istnieje już reguła ruchu przychodzącego „Apache”. Jeśli przyjrzysz się tej regule, na karcie Ogólne znajdziesz niektóre ustawienia, z których jednym jest Akcja. Istnieją dwie opcje - „Zezwól na połączenie” i „Zezwól na połączenie, jeśli jest bezpieczne”. Możesz wybrać jedną z tych opcji według własnego uznania, ale sugeruję przeczytanie i zrozumienie opcji „Dostosuj” tych ostatnich.
Aaron Newton
Porady: będziesz mógł odwiedzić ten port, ale nadal możesz nie być w stanie pingować ip!
fzyzcjy
3

Wygląda na to, że Zapora systemu Windows 7 obawia się portu 80.

Otworzy te porty, jeśli skonfigurujesz go w ten sposób:

Serwer Apache → UDP → wszystkie porty.
Serwer Apache → TCP → wszystkie porty.

To źle, ponieważ Apache zwykle działa z określonymi portami (mam na myśli 80, niektórzy używają 8080 i 443), ale nie znalazłem innego sposobu na uruchomienie reguł zapory Apache.

Sergio Abreu
źródło
2

wygląda na to, że musisz dodać wyjątek (port 80) do zapory systemu Windows.

Jestem pewien, że można to osiągnąć, otwierając panel sterowania zapory i klikając trochę. W XP było to co najmniej dość proste.

Problemem może być również to, że apache jest skonfigurowany tylko do nasłuchiwania na interfejsie sprzężenia zwrotnego. Możesz to sprawdzić, uruchamiając program netstat lub próbując odwiedzić inny adres komputera, na przykład http://192.168.1.101/

użytkownik23307
źródło
2

Właśnie pracuję. Utworzyłem regułę wyjątku dla portu 80 w zaporze systemu Windows. Korzystam z systemu Windows 7 na laptopie i OSX Leopard na komputerze Mac. Sam wyjątek nie rozwiązał problemu. Następnie wyłączyłem zaporę i mogłem połączyć się z apache na laptopie z mojego komputera Mac. To, co naprawdę rozwiązało problem, to panel sterowania> sieć i centrum udostępniania. Zmieniłem ustawienia dla aktywnej sieci i ustawiłem ją jako sieć domową. Jeśli zaznaczysz zaporę wygrywającą, powinieneś zobaczyć podłączoną sieć domową (prywatną)

Ricardo
źródło
+1, musiałem również wybrać grupę domową dla bieżącej sieci, aby reguła działała. Dzięki @ricardo.
rishimaharaj
1

Spróbuj zarówno otworzyć port routera do komputera, jak i spojrzeć na własną zaporę systemu Windows.

Pamiętaj, że po ponownym zainstalowaniu systemu Windows możliwe jest, że masz inną dzierżawę DHCP i masz inny adres IP, więc router może nie przekierowywać go poprawnie.

Ponadto twój router musi obsługiwać „Nat Loopback”, inaczej po prostu nie uda ci się połączyć, jednak zakładam, że obsługuje to tak, jak wcześniej powiedziałeś. Aby to sprawdzić, radzę użyć Hide My Ass lub Proxify .

William Hilsum
źródło
> Możliwe, że masz inny adres IP, więc router może już nie przekierowywać go poprawnie. Zgoda! „Portalizuję” moją instalację WordPress, dzięki czemu mogę łatwo hostować ją z dowolnego miejsca. Mam działający lokalnie, ale jest zablokowany przed światem. Jest już wyjątek w Zaporze systemu Windows, ponieważ powiedziałem „ zezwól”, gdy mnie o to poprosił, więc sprawdziłem router i, oczywiście, ustawiono przekazywanie portu 80 na adres IP mojego pulpitu. Oczywiście zmiana go na laptopa nie jest dobra. Skończyło się na przypisaniu wyzwalacza portu, a teraz działa z dowolnego podłączonego systemu.
Synetech
1

Oprócz sprawdzania zapory i sprawdzania, czy apache nasłuchuje tylko adresu localhost, możesz / powinieneś również sprawdzić swoje .htaccesspliki. Nowa zainstalowana wersja mogła mieć zaimplementowane bardziej restrykcyjne zasady bezpieczeństwa.

Niektóre samouczki na temat .htaccess

pcapademic
źródło
0

Wygląda na to, że jest to problem z zaporą systemu Windows 7. Po wyłączeniu zapory działa ona poprawnie. Teraz muszę tylko dowiedzieć się, jak włączyć zaporę ogniową, ale zezwolić na połączenia z portem 80.

WilliamKF
źródło