Problem beim Ändern des Apache-Ports

Problem beim Ändern des Apache-Ports

Ich habe ein Problem mit einer Apache+Wordpress-Maschine (Debian). Standardmäßig lauscht sie über Port 80, ich habe das geändert und „lauscht“ jetzt über Port 9090.

/etc/Apache2/ports.conf
[...]
NameVirtualHost *:9090
Listen 0.0.0.0:9090
[...]

/etc/apache2/sites-available/default
[...]
<VirtualHost *:9090>
[...]

Als ich versucht habe, über Y darauf zuzugreifen, http://10.250.10.70:9090hat es nicht funktioniert. (Chrome-Fehler: ERR_CONNECTION_REFUSED)

Wenn ich es auf derselben Maschine versuche, wget http://10.250.10.70:9090/ -O -erhalte ich diese Ausgabe:

--2015-05-14 12:31:43--  http://10.250.10.70:9090/
Connecting to 10.250.10.70:9090... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://10.250.10.70/ [following]
--2015-05-14 12:31:43--  http://10.250.10.70/
Connecting to 10.250.10.70:80... failed: Connection refused.

Wenn ich auch über Port 80 lausche, aber /etc/apache2/sites-available/default nicht ändere

/etc/Apache2/ports.conf
[...]
NameVirtualHost *:9090
Listen 0.0.0.0:9090
Listen 0.0.0.0:80
[...]

Die Website funktioniert über Port 80 (ich weiß wirklich nicht, warum, da NameVirtualHost nur mit Port 9090 funktionieren sollte). Auch wenn ich über Port 9090 darauf zugreife, funktioniert es, aber es erfolgt eine Weiterleitung auf dieselbe URI mit Port 80. Wenn ich es erneut über den Webserver ausführe, wget http://10.250.10.70:9090/ -O - erhalte ich diese Antwort:

--2015-05-14 12:38:16--  http://10.250.10.70:9090/
Connecting to 10.250.10.70:9090... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://10.250.10.70/ [following]
--2015-05-14 12:38:16--  http://10.250.10.70/
Connecting to 10.250.10.70:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `STDOUT'

    [<=>                                    ] 0           --.-K/s              <!DOCTYPE html>
[...]

Erstens weiß ich nicht, warum VirtualHost über Port 80 funktioniert, und zweitens, warum dieses System den gesamten Datenverkehr, den ich abhöre (in diesem Fall 9090), auf Port 80 umleitet …

Ich bin völlig "verloren"

Danke euch allen

NOTIZ:

root@TWBLOG:~# apache2 -v
Server version: Apache/2.2.22 (Debian)
Server built:   Dec 23 2014 22:48:29

Antwort1

Höchstwahrscheinlich verursacht die Firewall die Probleme. Öffnen Sie Port 9090 folgendermaßen:

sudo iptables -A INPUT -p tcp --dport 9090 -j ACCEPT

Wenn Sie ufw verwenden:

sudo ufw allow 9090

Wenn Sie alle Anfragen auf Port 80 auf 9090 umleiten möchten:

sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 9090

Antwort2

Die Anwendung (WordPress) generiert die Weiterleitung. Sie sollten die WordPress-Konfiguration überprüfen und ihre Basis-URI so einstellen, dass sie den neuen Port widerspiegelt, über den Sie darauf zugreifen.

Siehe auch die WordPress-Dokumentation zum Ändern der Einstellung:http://codex.wordpress.org/Changing_The_Site_URL

Wenn Apache eine Anfrage erhält, die keiner <VirtualHost>Definition entspricht, verwendet es die Standardeinstellung, also die erste (oder einzige), die es findet. Das sollte erklären, warum Anfragen, die Port 80 erreichen, immer noch den VirtualHost für WordPress erreichen.

Überprüfen Sie abschließend, ob die Firewall auf dem Computer Verbindungen zum neuen Abhörport zulässt, wenn bei der Verbindung von externen Computern Probleme auftreten.

verwandte Informationen