
同様のスレッドを見たことがありますが、役に立ちませんでした。
私は VPS で Ubuntu 14.04.2 LTS (GNU/Linux 2.6.32-042stab108.5 x86_64) を使用しています。
ポート 9000 で node.js アプリケーションを実行しましたが、このポートは閉じられているため、インターネット経由で Web ブラウザーを使用して Web ページを表示できません。
開いているポート:
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
コマンドが実行されていない場合、またはサーバーがそのポートでの接続を期待していないと言った方が良いかもしれません。netstat
listening