Я пытаюсь перенаправить все запросы с порта 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.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
Если отображается страница по умолчанию, перенаправление работает (как вы также можете видеть, поскольку счетчики байтов и пакетов> 0), это проблема конфигурации в Apache.