Port nasłuchuje na localhost: 8000, ale nie na ip: 8000


9

Witam, uruchamiam aplikację internetową na porcie 8000. Kiedy uzyskuję do niej dostęp z serwera hosta localhost: 8000 odpowiada ok, 127.0.0.1:8000 również działa, ale 192.168.1.7:8000 nie działa. 192.168.1.7 to adres IP mojego serwera.

Również jeśli spróbuję przejść do innej aplikacji sieci Web działającej na porcie 80, działa to 192.168.1.7

Włączyłem zaporę ufw i ustawiłem domyślne zezwolenie ufw. Używam serwera Ubuntu 12.04

Wszelkie sugestie, dlaczego nie mogę dostać się do mojej aplikacji na porcie 8000 przy użyciu adresu IP: 8000?

Z góry dziękuję!


1
Aplikacja prawdopodobnie nasłuchuje adresu localhost (127.0.0.1), a nie wszystkich adresów lokalnych (0.0.0.0). Nie masz jednak wystarczających informacji o aplikacji, aby ludzie mogli to naprawić.
James Henstridge

Moja aplikacja działająca na porcie 8000 to tylko strona internetowa. Być może ta kopia / wklejanie netstata ujawni więcej na temat mojej sieci:
Marionette

3
Cóż, bieganie netstat -tln | grep 8000może rzucić nieco światła na problem. Jeśli lokalny adres serwera jest 127.0.0.1:8000raczej niż 0.0.0.0:8000, wtedy będzie dostępny tylko poprzez interfejs pętli zwrotnej.
James Henstridge

sprawdź swoje iptables

Odpowiedzi:


5

Jak zauważa @JamesHenstridge, zachowanie, które obserwujesz, nie wynika z faktu, że Ubuntu blokuje twoją aplikację pod niektórymi adresami IP, ale z powodu wyraźnego powiązania aplikacji tylko z lokalnym interfejsem pętli zwrotnej (127.xxx). Przynajmniej jeśli nie zainstalowałeś i nie skonfigurowałeś zapory ogniowej, aby blokować ten port.

Musisz zapoznać się z dokumentacją aplikacji, aby sprawdzić, czy istnieje ustawienie umożliwiające nasłuchiwanie na innych (lub na wszystkich) interfejsach.


Czy znasz również przekierowanie portów na routerze? Jeśli zamierzasz połączyć się z nim przez Internet na porcie 8000, musisz przekierować port 8000 na te komputery ip.
wlraider70

0

W jednym pliku konfiguracyjnym aplikacji należy skonfigurować aplikację tak, aby nasłuchiwała zewnętrznego zewnętrznego adresu IP: twojego portu. Oznacza to, że istnieje plik konfiguracyjny, w którym można znaleźć dyrektywę informującą aplikację, aby nasłuchiwała 127.0.0.1:xxxx lub localhost: xxxx Jest to adres IP, który należy zmienić za pomocą wewnętrznego adresu IP (np .: 192.168.1.40) lub zewnętrznego adresu IP

Czasami adres IP hosta lokalnego powinien zostać zastąpiony przez 0.0.0.0:xxxx, co oznacza, że ​​aplikacja powinna odpowiedzieć na żądanie z dowolnego adresu IP.

Iptables może również pomóc w przekazywaniu pakietów z wewnętrznego adresu IP do zewnętrznego adresu IP.

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.