「localhost:8080」を単に「localhost」にマップするにはどうすればよいですか?

「localhost:8080」を単に「localhost」にマップするにはどうすればよいですか?

hosts ファイルを使用すると、次のようなことはできません。

127.0.0.1:8080 testing

だから私は書かなければならない

127.0.0.1 testing
http://testing:8080 

同じことをするために。

問題は、ポートを入力せずに IP にアクセスできる必要があることです。これを行うためのオプションはありますか?

答え1

ポート 80 でサービスを提供するリバース プロキシを設定し、すべての要求を 8080 に転送することができます。

Apacheはこれを実行できるウェブサーバーの1つです。基本的なリバースプロキシの例mod_proxy ドキュメント内。

答え2

hosts ファイルはホスト名と IP アドレスのみをバインドします。

デフォルトでは、HTTP はポート 80 上で実行されます。したがって、ホスト名を 127.0.0.1 にバインドし、ブラウザでホスト名を (HTTP 経由で) 入力すると、ポート 80 が暗黙的に使用されます。

ポート80をリッスンし、リクエストをポート8080に転送するプロキシサーバーを設定する必要があります。Webサーバーは引き続きポート8080で実行する必要があります。

答え3

hosts ファイルの目的は、名前を IP に関連付けることです。
実行したいのはファイアウォールの役割です。
または、アプリケーションを 8080 ではなく 80 で実行するように構成し
ます。iptables を使用すると、次の操作を実行できます。

iptables -t nat -I PREROUTING -p tcp -i eth0 -d 127.0.0.1 --dport 8080 -j DNAT --to-destination 127.0.0.1:80

答え4

1000 未満のポートをリッスンするには追加の権限が必要です。これが、ポート 80 ではなくポート 8080 をリッスンしている理由であると考えられます。Apache、Squid、Varnish、またはその他のさまざまなプロキシを使用してリバース プロキシを設定できます。

または、権限を昇格させて正しいパラメータを渡すことで、ソフトウェアをポート 80 でリッスンするようにすることもできます。そのソフトウェアは何ですか? おそらく、ポート 80 でリッスンするようにお手伝いできると思います。

関連情報