WordPress redirigiendo conexiones del puerto 8080 al 80

20 feb 2014, 17:50:11
Vistas: 28.5K
Votos: 15

Tengo un blog WordPress que es servido por apache2 (en el puerto 80) y nginx (en el puerto 8080) en Ubuntu 12.04. Ahora, cuando un cliente se conecta a través del puerto 80 todo funciona perfectamente, pero cuando un cliente se conecta al 8080 para ver el mismo blog, la conexión es redirigida a apache. ¿Por qué está sucediendo esto? Busqué y encontré que esta es una limitación de WordPress que redirige todas las conexiones a la URL del sitio establecida en el panel de control (que por defecto es el puerto 80).

¿Hay alguna manera de evitar esto? Para que las conexiones al puerto 8080 sean servidas por nginx en lugar de apache

Contenido de /etc/nginx/sites-enabled/wordpress

server {
listen   8080;

root /var/www;
index index.php index.html index.htm;

server_name abc.com;

location / {
        try_files $uri $uri/ /index.php?q=$uri&$args;
}

location /doc/ {
        alias /usr/share/doc/;
        autoindex on;
        allow 127.0.0.1;
        deny all;
}

error_page 404 /404.html;

error_page 500 502 503 504 /50x.html;
location = /50x.html {
        root /usr/share/nginx/www;
}

location ~ \.php$ {

        try_files $uri =404;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param   SERVER_PORT 8080;
        port_in_redirect off;
}

Cualquier ayuda es apreciada.

3
Comentarios

WP solo se puede configurar para ejecutarse en un puerto. Será http://misitio.com/ o http://misitio.com:8080/, no ambos. Cuando alguien vea WP a través del puerto 8080 (pero configurado para 80), WP probablemente mostrará la página pero todos los enlaces serán para el puerto 80.

user42826 user42826
20 feb 2014 19:01:37

¿Por qué estás intentando ejecutar el sitio de esta manera?

Seamus Leahy Seamus Leahy
21 feb 2014 05:18:11

@user42826 He configurado apache para usar el puerto 8080 y, como describiste, todos los enlaces a CSS, imágenes y otros recursos están rotos. ¿Cómo sugieres solucionarlo sin eliminar redirecciones? He visto que mucha gente recomienda agregar :8080 a la URL en la configuración, pero esto no me parece correcto. ¿No debería tener que configurar WP además de apache?

user658182 user658182
3 oct 2014 05:20:06
Todas las respuestas a la pregunta 2
1
15

¡Lo resolví! Aquí está cómo:

Edita el archivo functions.php de tu tema actual y agrega la siguiente línea después de la etiqueta PHP de apertura para deshabilitar la redirección canónica.

remove_filter('template_redirect','redirect_canonical'); guarda y cierra.

Reinicia apache2 y nginx y verifica con curl -I IP.

20 feb 2014 21:36:39
Comentarios

No es necesario reiniciar Apache o Nginx al cambiar el código de WordPress.

Marc Marc
19 nov 2023 11:01:39
0

Mismo problema. En mi caso, configuré el puerto del servidor en 3030 para acomodar otros servidores. De todos modos, sin necesidad de agregar código a ningún archivo functions.php, resolví el problema cambiando los valores de site y home en la tabla wp_options al dominio y configuración del puerto.

Por ejemplo,

site     http://localhost:3030
home     http://localhost:3030

Todo pareció funcionar correctamente desde allí.

25 may 2018 23:36:00