iptables - 複数の IP のうち、正しく IP 事前ルーティングされているのは 1 つだけです

iptables - 複数の IP のうち、正しく IP 事前ルーティングされているのは 1 つだけです

私はすべてのIPでポート80のすべてのリクエストをポート9000にリダイレクトしようとしています

eth0 に複数の IP アドレスをホストする 1 台のサーバーがあります。問題を説明するために、それらはすべて apache を使用してポート 9000 を listen するとします。

プライマリIPアドレス(.106)のみが正常に動作し、トラフィックをリダイレクトしています。

Chain PREROUTING (policy ACCEPT 2132 packets, 256K bytes)
 pkts bytes target     prot opt in     out     source               destination
  128  7236 REDIRECT   tcp  --  eth0   *       0.0.0.0/0            173.234.60.106      tcp dpt:80 redir ports 9000
  151  8624 REDIRECT   tcp  --  eth0   *       0.0.0.0/0            173.234.60.107      tcp dpt:80 redir ports 9000

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1       21  1574 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:9000

私の仮想ホスト設定で 173.234.60.107:9000 (またはその他の IP) でリッスンしている他のすべては、デフォルトの /var/www/index.html ページにリダイレクトされます。

例: www.tiprocker.com - ip .106 -> 正常に接続し、ssl mvmdesign.org にリダイレクト - ip .107 -> デフォルト ページ

単一のサーバー インスタンスで複数の IP を操作するときに、何か特別なことが起こるのでしょうか? また、nodejs を使用して 80 から 9001 までのすべてのトラフィックをまったく別の IP にリダイレクトしようとしましたが、その場合はページが見つからないというメッセージが表示されるので、iptables の何かが正しく機能していないようです。

編集: Apacheの設定に関する追加情報はこちら

confファイルhttps://gist.github.com/maruf89/8f162b49addc5dc49902

// separate file
NameVirtualHost 173.234.60.106:9000
NameVirtualHost 173.234.60.106:443
NameVirtualHost 173.234.60.107:9000
NameVirtualHost 173.234.60.107:443

mvmdesign.org vhost ファイルhttps://gist.github.com/maruf89/363b6edd111834ad78bb

答え1

デフォルトのページが表示されてリダイレクトが機能する場合 (バイトとパケットのカウンターが >0 であることからもわかります)、これは Apache の設定の問題です。

関連情報