Używam serwera centOS. Chcę skonfigurować apache do nasłuchiwania na porcie 8079. Dodałem dyrektywę LISTEN 8079 w httpd.conf
.
Otworzyłem port 8079 w iptables i zrestartowałem iptables. Zatrzymałem nawet usługę iptables.
"netstat -nal | grep 8079" shows "tcp 0 0 :::8079 :::* LISTEN"
Jeśli spróbuję uzyskać dostęp http://localhost:8079
lub http://myserver.com:8079
z tego komputera, mogę uzyskać dostęp do tej strony. ALE z żadnego innego komputera nie mogę uzyskać dostępu do witryny na żadnym innym porcie niż 80. Na porcie 80 to działa. Na porcie 8079 tak nie jest.
Co jeszcze muszę skonfigurować?
źródło
NameVirtualHost *:80
powyżejListen 80
, zmień również to ......Otwórz plik httpd.conf w edytorze tekstu. Znajdź tę linię:
i zmień to
Po zmianie zapisz go i zrestartuj apache.
źródło
To był problem z firewallem. Istniała zapora sprzętowa, która blokowała dostęp do prawie wszystkich portów. (Wyłączenie zapory programowej / SELinux bla bla nie przyniosło żadnego efektu)
Następnie przeskanowałem otwarte porty i użyłem portu, który był otwarty.
Jeśli napotkasz ten sam problem, uruchom następujące polecenie
Skanuje w poszukiwaniu wszystkich otwartych portów w systemie. Do każdego otwartego portu można uzyskać dostęp z zewnątrz.
Ref .: Http://www.go2linux.org/which_service_or_program_is_listening_on_port
źródło
Jeśli potrzebujesz portu Apache Listen innego niż 80, powinieneś dodać następny plik pod ubuntu
listę portów nasłuchu
Po tym, jak musisz przejść do pliku konfiguracyjnego Virtual hosts i zdefiniować następny
źródło
To działa dla mnie na Centos
Po pierwsze: w pliku /etc/httpd/conf/httpd.conf
Dodaj
po
To do momentu, gdy serwer nasłuchuje na porcie 8079
Po drugie: przejdź do swojego wirtualnego hosta np. /etc/httpd/conf.d/vhost.conf
i dodaj ten kod poniżej
To znaczy, kiedy przechodzisz do
www.example.com:8079
przekierowania do/ var / www / html / api_folder
Ale musisz najpierw ponownie uruchomić usługę
sudo service httpd restart
źródło
Jeśli używasz Apache w systemie Windows :
services.msc
+ Enter(jeśli nie jest to ApacheX.Y, powinna mieć nazwę oprogramowania, którego używasz z Apache, np .: "wampapache64");cmd
+ Enternie wystarczy);cd c:\wamp\bin\apache\apache2.4.9\bin
;httpd.exe -n "YourServiceName" -t
(zastąp nazwę usługi tą, którą znalazłeś w kroku 1);httpd.exe -k stop -n "YourServiceName"
httpd.exe -k start -n "YourServiceName"
Jeśli zacznie się dobrze, problemu już nie ma, ale jeśli otrzymasz:
Jeśli numer portu nie jest tym, którego chciałeś użyć, otwórz plik konfiguracyjny Apache (np.
C:\wamp\bin\apache\apache2.4.9\conf\httpd.conf
Otwórz za pomocą edytora kodu lub wordpada, ale nie notatnika - nie czyta poprawnie nowych linii) i zamień numer w linii, która się zaczyna zListen
numerem portu, którego chcesz użyć, zapisz go i powtórz krok 6. Jeśli jest to ten, którego chciałeś użyć, kontynuuj:resmon
+ Enter, kliknij kartę Sieć , a następnie kartę podrzędną Porty ;taskkill /pid NUMBER /f
(/f
wymusza to);resmon
sprawdź, czy port jest teraz wolny i powtórz krok 6.Gwarantuje to, że usługa Apache została poprawnie uruchomiona, konfiguracja na wirtualnych hostach plik konfiguracyjny, jak wspomniano sarul (np . :)
C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf
jest konieczna, jeśli ustawiasz tam ścieżkę do plików i zmieniasz również port. Jeśli go ponownie zmienić, należy pamiętać, aby ponownie uruchomić usługę:httpd.exe -k restart -n "YourServiceName"
.źródło
Dla serwera FC22
cd / etc / httpd / conf edytuj httpd.conf [enter]
Zmień: Posłuchaj 80 do: Słuchaj dowolnego numeru
Zapisz plik
systemctl zrestartuj httpd.service [enter] w razie potrzeby otwórz dowolny numer w routerze / zaporze
źródło