Jestem pewien, że to bardzo noobish, więc wybacz mi. Próbuję uruchomić serwer node.js na porcie 8080 mojego systemu Ubuntu 10.04.
Oto wynik działania iptables -L na serwerze:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
A oto wynik nmap -p 8080 (edytował adres IP, ponieważ wszystko jest lub powinno być szeroko otwarte)
nmap 173.203.xxx.xxx -p 8080 -A
Starting Nmap 5.00 ( http://nmap.org ) at 2011-05-19 22:52 PDT
Interesting ports on xxx (173.203.xxx.xxx):
PORT STATE SERVICE VERSION
8080/tcp closed http-proxy
Dlaczego na ziemi 8080 jest postrzegany jako zamknięty? Dodanie tego nie pomogło:
iptables -A OUTPUT -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
Jestem bardzo zmieszany.
Dodam to, na wypadek, gdyby to pomogło, ale nie wiem
netstat -pan | grep 80
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 16785/node
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 16471/apache2
Mogę uzyskać dostęp do mojej zwykłej strony internetowej uruchamianej z portu 80 na Apache, ale serwer node.js jest niedostępny z zewnątrz. Dostęp do niego z samego serwera działa dobrze.
Więc moje pytanie brzmi: jak miałbym to debugować? Czy może istnieć coś innego niż iptables blokujący niektóre porty? Jak mogę się dowiedzieć, co to jest?
Każda pomoc bardzo doceniana!
Odpowiedzi:
Dzięki za dodanie ostatniego wyniku netstat, to naprawdę pomogło. Nie możesz uzyskać dostępu do node.js z zewnątrz, ponieważ nasłuchuje na IP hosta lokalnego, tj. 127.0.0.1. Musisz skonfigurować node.js, aby nasłuchiwał w wersji 0.0.0.0, aby mógł akceptować połączenia na wszystkich adresach IP twojego komputera.
źródło
Zgodnie z danymi wyjściowymi netstat, port 8080 jest otwarty tylko dla 127.0.0.1, który jest hostem lokalnym, stąd dostęp z serwera działa (który jest localhost), ale nie z żadnego innego miejsca.
Właściwe wyjście powinno wyglądać
źródło
Miałem ten sam problem.
Zrobiłem następujące
użyj następującego łącza, aby włączyć te same porty na serwerze Ubuntu Server https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-14-04
A po tym ostatnim brakowało mi Networking -> Firewall Rules -> default-allow-internal -> cały adres IP 0.0.0.0/0
Gotowy
źródło