iptables - 多个 IP,只有一个 IP 预路由正确

iptables - 多个 IP,只有一个 IP 预路由正确

我正在尝试将所有 IP 上 80 端口的所有请求重定向到 9000 端口

我有一台服务器在 eth0 上托管多个 IP 地址。为了解决我的问题,假设它们都使用 apache 监听端口 9000

仅主 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 重定向到完全不同的 IP 到 9001,在这种情况下,我得到一个页面未找到,因此 iptables 的某些功能似乎对我来说无法正常运行。

编辑: 以下是关于我的 apache 配置的一些附加信息

httpd配置文件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 中的配置问题。

相关内容