Problema de cambio de puerto de Apache

Problema de cambio de puerto de Apache

Tengo un problema con una máquina Apache+Wordpress (Debian). De forma predeterminada escucha a través del puerto 80, lo cambié y ahora "escucha" a través del puerto 9090.

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

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

Cuando intenté acceder a través de http://10.250.10.70:9090y no funciona. (Error de Chrome ERR_CONNECTION_REFUSED:)

En la misma máquina, si lo intento, wget http://10.250.10.70:9090/ -O -obtengo este resultado:

--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.

Si también escucho a través del puerto 80, pero no cambio /etc/apache2/sites-available/default

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

WebSite funciona a través del puerto 80 (realmente no sé por qué porque NameVirtualHost solo debería funcionar con el puerto 9090). Además, si accedo a través del puerto 9090 funciona, pero redirige al mismo URI con el puerto 80. Si ejecuto a través del servidor web nuevamente, wget http://10.250.10.70:9090/ -O - obtengo esta respuesta:

--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>
[...]

En primer lugar, no sé por qué VirtualHost funciona en el puerto 80 y, en segundo lugar, por qué este sistema redirige cualquier tráfico que escucho (9090 en este caso) al puerto 80...

Estoy completamente "perdido"

Gracias a todos

NOTA:

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

Respuesta1

Lo más probable es que el firewall esté causando los problemas. Abra el puerto 9090 con esto:

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

Si estás usando ufw:

sudo ufw allow 9090

Si desea redirigir todas las solicitudes del puerto 80 al 9090:

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

Respuesta2

La aplicación (WordPress) está generando la redirección; debe verificar la configuración de WordPress y configurar su URI base para reflejar el nuevo puerto al que accede.

Consulte también los documentos de WordPress sobre cómo cambiar la configuración:http://codex.wordpress.org/Changing_The_Site_URL

Cuando Apache recibe una solicitud que no coincide con una <VirtualHost>definición, utiliza la predeterminada, que es la primera (o única) que encuentra. Esto debería explicar por qué las solicitudes que llegan al puerto 80 todavía llegan al VirtualHost para WordPress.

Por último, verifique que el firewall de la máquina permita conexiones al nuevo puerto de escucha si tiene problemas para conectarse desde máquinas externas.

información relacionada