Estoy intentando redirigir todas las solicitudes del puerto 80 al puerto 9000 en todas mis IP.
Tengo 1 servidor que aloja varias direcciones IP en eth0. Por el bien de mi problema, digamos que todos usan Apache para escuchar el puerto 9000.
Solo la dirección IP principal (.106) funciona correctamente y redirige el tráfico.
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
Todo lo demás que está escuchando en 173.234.60.107:9000 (o cualquier otra IP) en mi configuración de Host Virtual se redirige a la página predeterminada /var/www/index.html
Ejemplos: www.tiprocker.com - ip .106 -> se conecta exitosamente y redirige a ssl mvmdesign.org - ip .107 -> página predeterminada
¿Hay algo específico que ocurre cuando se trabaja con múltiples IP en una sola instancia de servidor? También intenté redirigir a una IP completamente diferente, todo el tráfico de 80 a 9001 usando nodejs, y en ese caso aparece una página no encontrada, por lo que algo con iptables no parece funcionar correctamente para mí.
Editar: Aquí hay información adicional sobre mis configuraciones de 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
archivo vhost mvmdesign.orghttps://gist.github.com/maruf89/363b6edd111834ad78bb
Respuesta1
Si se muestra la página predeterminada, la redirección funciona (como también puede ver ya que los bytes y los contadores de paquetes son >0), se trata de un problema de configuración en Apache.