Ich versuche, alle Anfragen auf Port 80 über alle meine IPs auf Port 9000 umzuleiten
Ich habe einen Server, der mehrere IP-Adressen auf eth0 hostet. Nehmen wir für mein Problem an, sie alle verwenden Apache, um Port 9000 abzuhören
Nur die primäre IP-Adresse (.106) funktioniert ordnungsgemäß und leitet den Datenverkehr um
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
Alles andere, was in meiner Virtual Host-Konfiguration auf 173.234.60.107:9000 (oder einer anderen IP) lauscht, leitet auf die Standardseite /var/www/index.html um
Beispiele: www.tiprocker.com - IP .106 -> erfolgreiche Verbindung und Weiterleitung zu SSL mvmdesign.org - IP .107 -> Standardseite
Gibt es etwas Besonderes, das passiert, wenn man mit mehreren IPs auf einer einzigen Serverinstanz arbeitet? Ich habe auch versucht, den gesamten Datenverkehr von 80 bis 9001 mithilfe von nodejs auf eine ganz andere IP umzuleiten, und in diesem Fall erhalte ich die Meldung „Seite nicht gefunden“, also scheint bei mir etwas mit iptables nicht richtig zu funktionieren.
Bearbeiten: Hier sind einige zusätzliche Informationen zu meinen Apache-Konfigurationen
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 vhost-Dateihttps://gist.github.com/maruf89/363b6edd111834ad78bb
Antwort1
Wenn die Standardseite angezeigt wird und die Umleitung funktioniert (wie Sie auch sehen können, da die Byte- und Paketzähler >0 sind), handelt es sich um ein Konfigurationsproblem in Apache.