Chciałbym, aby serwer WWW Apache, który zainstalowałem w domu, nasłuchiwał na portach 80 i 8080.
Dodałem Listen 8080
do httpd.conf i zrestartowałem usługi Apache, ale serwer nie wydaje się nasłuchiwać na 8080. Punching w http: // localhost: 8080 razy upłynął i nie wyświetla mojego indeksu.html, ale http: / / localhost wyświetli mój index.html.
Jak sprawić, by słuchało 80 i 8080?
apache-2.2
web-server
piekarnik
źródło
źródło
Odpowiedzi:
Standardowa instalacja Apache w Debianie będzie miała następujący fragment konfiguracji:
Mówi to apache, aby nasłuchiwał na porcie 80 i nasłuchiwał na porcie 443, jeśli skonfigurowano mod_ssl. W twoim przypadku chcesz:
Musisz upewnić się, że uruchomiłeś restart, a nie operację przeładowania na Apache, aby zwracał uwagę na nowe dyrektywy Listen. Najbezpieczniej jest zatrzymać apache, upewnić się, że jest martwy i uruchomić go ponownie.
Jeśli ta konfiguracja nie działa, sprawdź pliki dziennika pod kątem komunikatów o błędach. Możesz użyć polecenia „netstat -lep --tcp”, aby sprawdzić, czy coś nasłuchuje na porcie 8080. Na koniec, jeśli wszystko inne nie działa, spróbuj uruchomić apache pod kontrolą strace, aby sprawdzić, czy próbuje się połączyć z tym portem i zawiedzie, ale nie loguje problemu.
źródło
/etc/apache2/ports.conf
.Odpowiedzi te są świetne, ale pozostawiają możliwości, że Owen jest rzeczywiście zrobił to już ( „dodałem
Listen 8080
”) może oznaczać dokładnie to, co brzmi jak (czyli to, co David zasugerował).Jeśli już to zrobiłeś i nadal uważasz, że to nie działa, upewnij się, że poprawnie skonfigurowałeś dyrektywy dla każdej subdomeny, w tym domyślnej (jeśli została skonfigurowana ręcznie, aby słuchać: 80 zaraz po nazwie).
Prawdopodobnie masz taką dyrektywę:
Musisz to zmienić na
<VirtualHost *:8080>
lub<VirtualHost *:*>
.źródło
Krok 1
httpd (apache) do nasłuchiwania na porcie 80 i nasłuchiwania na porcie 443, jeśli skonfigurowano mod_ssl.
Krok 2
Krok 3
(Nie można zidentyfikować wszystkich procesów, informacje o procesach nieposiadających własności nie zostaną wyświetlone, musisz być rootem, aby zobaczyć wszystko.)
źródło
Możesz także sprawdzić, czy masz włączony SELinux. Domyślna konfiguracja SELinux może nie pozwalać na uruchamianie Apache na niestandardowych portach. Oto strona pokazująca, czy korzystasz z SELinux i jak go wyłączyć, jeśli nie chcesz lub nie korzystasz z jego funkcji. http://www.crypt.gen.nz/selinux/disable_selinux.html
źródło
Aby to działało, może być konieczne skonfigurowanie witryny jako portu 8080. Przeczytaj dokumentację dotyczącą wirtualnych hostów Apache . Każda „strona” może być skonfigurowana do akceptowania połączeń na określonych portach (i ipach itp.). Czy masz serwer wirtualny w swoim http.conf, który jest skonfigurowany tylko dla portu 80?
Możesz także potwierdzić, że serwer nasłuchuje na 8080, używając
netstat -nlp
i szukając wpisu na tym porcie.źródło
Zakładając, że Linux działa
netstat -lntp
jako root, jak widać, czy apache nasłuchuje na 8080, czy nie. Pomoże to określić, czy problem polega na tym, że serwer nie nasłuchuje lub czy istnieją czynniki zewnętrzne (np. Zapora ogniowa, selinux itp.), Które powodują przekroczenie limitu czasu połączenia.źródło