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.