我正在嘗試將我所有 IP 上連接埠 80 上的所有請求重定向到連接埠 9000
我有 1 台伺服器在 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 時是否會發生一些特定情況?我還嘗試重定向到一個完全不同的IP,所有流量從80到9001使用nodejs,在這種情況下我得到一個未找到的頁面,所以帶有iptables的東西對我來說似乎無法正常工作。
編輯: 這是我的 apache 配置的一些附加信息
httpd.confhttps://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 虛擬主機文件https://gist.github.com/maruf89/363b6edd111834ad78bb
答案1
如果顯示預設頁面,則重定向有效(您也可以看到,因為位元組和封包計數器 >0),這是 Apache 中的配置問題。