Ubuntuサーバーでポート80を開く

Ubuntuサーバーでポート80を開く

Ubuntu/Linux を使い始めたばかりですが、着信接続用にポート 80 を開くのに問題があります。

コマンドを実行するsudo ufw allow 80/tcpと、実行sudo ufw status結果は次のようになります。

Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)

ただし、cURL を使用してポートに接続しようとすると、このエラーが引き続き発生します。

MY_IP_ADDRESS ポート 80 への接続に失敗しました: 接続が拒否されました

このコマンドを実行してnetstat -ntlp | grep LISTEN開いているポートを確認すると、次の結果が得られます。

(No info could be read for "-p": geteuid()=1000 but you should be root.)
tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -               
tcp6       0      0 :::22                   :::*                    LISTEN      -         

あまり期待できそうにありません。

着信接続用にポート 80 を開くにはどうすればよいですか?

答え1

ポート 80 をリッスンしているプログラムがないため、ポートは閉じられており、接続できません。

使用できます

sudo python -m SimpleHTTPServer 80

Python-3の場合:

sudo python3 -m http.server 80

ポート 80 でリッスンする単純な Web サーバーを起動するか、apache2本格的な Web サーバーが必要な場合は Apache (パッケージ) などをインストールします。

答え2

UFWそれはシンプルなファイアウォール. コンピュータ上のどのポートをアプリケーションがリッスンするために開くことができるかを管理しますsudo ufw allow 80/tcpTCP接続ポート80

しかし、ポートの背後で実際にリッスンしているものは何もありません。curlポートに対して、応答を送信するアプリケーションが必要です。これは通常、サーバーと呼ばれます。@Florianが指摘しているように、パイソンそれをテストすることですSimpleHTTPServer

答え3

使用:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

次に、再起動時に iptables 構成が失われないようにするには、次を使用します。

sudo apt-get install iptables-persistent

答え4

これを使用するsudo iptables -A INPUT -p tcp --dport 80 -j ACCEPTと、ポートを設定するときにポートを受け入れることができ、このターミナル行のコードが失われるのを防ぐことができます。sudo apt-get install iptables-persistent コマンドの先頭に sudo を使用する理由は、スーパーユーザーとして実行できるようにするためです。persistant は、指定されたポートへの永続的な接続として使用します。また、Python を使用してテストすることもできますSimpleHTTPServer。これは素晴らしい質問でした。ありがとうございます。

関連情報