Serwer Apache niedostępny przez Internet:


0

Próbuję uzyskać dostęp do mojego serwera internetowego (Debian, działający pod Apache 2.2.22) spoza mojej sieci LAN, ale przeglądarka internetowa mówi „Ta strona nie jest dostępna”, gdy wpisuję abcd: 8080 w pasku adresu URL (abcd to mój publiczny adres IP) . Mogę uzyskać dostęp do strony internetowej bez żadnych błędów z sieci LAN, gdy wpisuję 192.168.1.2:80 (192.168.1.2 to lokalny adres IP), ale prowadzi mnie do strony indeksu (pokazuje pliki i katalogi na serwerze WWW ), gdy wpisuję 192.168.1.2:8080. Te trzy wiersze znajdują się w pliku ports.conf:

NameVirtualHost *:80
Listen 8080
Listen 80

Nie jestem pewien, czy zrobiłem to poprawnie, ponieważ różne linki dały mi różne instrukcje, więc oto jak przesyłam port w routerze (jest to router ADSL, nie jest podłączony do modemu lub coś takiego):

Server Name: Apache2
External Port Start: 8080
External Port End: 8080
Protocol: TCP
Internal Port Start: 80
Internal Port End: 80
Server IP Address: 192.168.1.2

Lokalny adres IP serwera (192.168.1.2) jest statyczny. Używam http://www.canyouseeme.org/, aby sprawdzić otwarte porty. Zwraca sukces z portem 8080 i zwraca błąd z portem 80. Kiedy wpisuję abcd: 80 w pasku adresu URL, prowadzi mnie do strony konfiguracji routera. Czy muszę zezwolić na port przez zaporę ogniową, jeśli korzystam z Debiana? Proszę powiedz mi, co jest nie tak lub brakuje.


Zapora ogniowa na twoim serwerze musi być skonfigurowana tak, aby zezwalała na połączenie z adresów zewnętrznych - zakładam, że jest ustawiona na odrzucanie wszystkiego, co nie jest specjalnie dozwolone („biała lista”). Kiedy mówisz, że nie możesz uzyskać do niego dostępu z zewnętrznego adresu IP, czy próbujesz z komputera poza siecią LAN (np. Z domu znajomego)? Jeśli próbujesz uzyskać do niego dostęp za pomocą zewnętrznego adresu IP z sieci LAN, router musi obsługiwać sprzężenie zwrotne.
Andrew Morton

Dlaczego robisz PAT na swoim routerze? PAT może prowadzić do dziwnych zachowań w aplikacjach internetowych, jeśli nie przygotujesz ich wcześniej. Ponieważ Apache odbiera połączenia na porcie 80(router łączy się z Apache na tym porcie), każda automatycznie wygenerowana treść może korzystać z łączy z tym samym 80portem, ale ponieważ port 80nie jest otwarty na routerze, otrzymasz komunikat „To strona internetowa jest niedostępna ”. Spróbuj zrobić a telnet a.b.c.d 8080i napisz, GET / HTTP/1.0a następnie dwa ENTER. Sprawdź odpowiedź i poszukaj adresów URL. Założę się, że mają niewłaściwy port ( 80lub zwolniony).
NuTTyX

@AndrewMorton W rzeczywistości próbowałem uzyskać do niego dostęp z wnętrza sieci LAN. Kiedy uzyskuję do niego dostęp spoza sieci LAN, po prostu ładuje się. Masz pojęcie, co może być teraz problemem?
Awais Chishti

Czy przekierowanie portów jest poprawnie skonfigurowane? Czy na wypadek, gdyby mój dostawca usług internetowych blokował port 80, czy mogę skonfigurować ustawienia przekierowania portów i ports.conf, aby uzyskać dostęp do serwera z innego portu?
Awais Chishti,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.