
Я видел похожие темы, но они мне не помогли.
Я использую Ubuntu 14.04.2 LTS (GNU/Linux 2.6.32-042stab108.5 x86_64) на своем VPS.
Я запустил приложение node.js на порту 9000, но этот порт закрыт, поэтому я не могу увидеть свою веб-страницу с помощью веб-браузера через Интернет.
Мои открытые порты:
sudo netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 752/apache2
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 366/vsftpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 454/sshd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 611/master
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 485/mongod
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 599/mysqld
tcp6 0 0 :::22 :::* LISTEN 454/sshd
tcp6 0 0 :::25 :::* LISTEN 611/master
Я пытался выполнить следующие команды:
sudo iptables -I INPUT -p tcp -m tcp --dport 9000 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 9000 -j ACCEPT
Но мне это не помогло. Более того, файл /etc/iptables.rules отсутствует, поэтому я не смог сохранить изменения с помощью следующей команды: iptables-save > /etc/iptables.rules
Не могли бы вы мне помочь? Спасибо.
решение1
Попробуйте это.
sudo iptables -I INPUT -p tcp -s 0.0.0.0/0 --dport 9000 -j ACCEPT
Чтобы сделать изменение постоянным
iptables-save > /etc/iptables.conf # Save this changes to file
touch /etc/network/if-up.d/iptables # Create file to call conf from
echo "iptables-restore < /etc/iptables.conf" >> /etc/network/if-up.d/iptables # Add this line to this file
chmod +x /etc/network/if-up.d/iptables # Make the script executable
ОригиналИсточник
решение2
Если вы не видите port 9000
команду with netstat
в listening
своем приложении, это значит, что оно не запущено или, лучше сказать, ваш сервер не ожидает соединения по этому порту.