web-dev-qa-db-ja.com

ポート80を8080にリダイレクトし、ローカルマシンで動作させる

マシンのポート80のトラフィックを8080にリダイレクトしました

Sudo iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-ports 8080

私のマシンを除くすべての世界でうまく機能します。私は開発者であり、自分でポート80を8080にリダイレクトする必要があります。

私のIPは192.168.0.111です

Webサーバーはポート8080で実行されます

サーバーを実行している同じマシンのhttp://192.168.0.111/の代わりにhttp://192.168.0.111:8080/からWebサイトを開きたい。

57
Max

ループバックインターフェース用のパケットはOUTPUTチェーンを経由しないため、PREROUTINGチェーンを使用する必要があります。以下が機能するはずです。 rootとして実行:

iptables -t nat -A OUTPUT -o lo -p tcp --dport 80 -j REDIRECT --to-port 8080
78
heemayl

単純にポート80と8080の両方を許可するiptablesを使用してから、80から8080にリダイレクトして、正しいnicに割り当てていることを確認します。例では、eth0を使用します

iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
5
tmac

iptablesの代わりに、次を試すことができます:Sudo ssh -gL 80:127.0.0.1:8080 localhost

4
Gregor

これは私のために働いた。

$ Sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
4