Я пытаюсь перенаправить все запросы с порта 80 на порт 9000 по всем моим IP-адресам.
У меня есть 1 сервер, размещающий несколько IP-адресов на eth0. Для решения моей проблемы предположим, что все они используют 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 файл vhosthttps://gist.github.com/maruf89/363b6edd111834ad78bb
решение1
Если отображается страница по умолчанию, перенаправление работает (как вы можете видеть, поскольку счетчики байтов и пакетов >0), это проблема конфигурации Apache.