2012-02-05 24 views
8

Tengo un problema con el redireccionamiento de mi servidor http://www.mylesgray.com:8080/ ->http://www.mylesgray.com/.¿Qué está causando este redireccionamiento 301?

Éstos son mis Nginx default y fastcgi_params de configuración de archivos:

https://gist.github.com/1745271

https://gist.github.com/1745313

esto es más bien un nusance como estoy tratando de ejecutar un punto de referencia de Nginx w/almacenamiento en caché vs Barnice con el caché en la parte superior de Nginx para ver si hay algún beneficio de rendimiento de uno sobre el otro.

Como tal, tienen Nginx recta w/almacenamiento en caché de escucha en el puerto 8080 y barniz en el puerto 80 que reenvía las solicitudes sin almacenamiento en caché a Nginx en localhost:8080, por lo que, obviamente, lo que quiero hacer es ejecutar un punto de referencia ab en http://www.mylesgray.com:8080/ y en http://www.mylesgray.com/ para ver la diferencia.

Aquí están los resultados de curl -I en varias direcciones.

# curl -I http://www.mylesgray.com:8080 

HTTP/1.1 301 Moved Permanently 
Server: nginx/0.7.65 
Date: Sun, 05 Feb 2012 12:07:34 GMT 
Content-Type: text/html; charset=UTF-8 
Connection: keep-alive 
X-Powered-By: PHP/5.3.2-1ubuntu4.7ppa5~lucid1 
X-Pingback: http://www.mylesgray.com/xmlrpc.php 
Location: http://www.mylesgray.com/ 

# curl -I http://mylesgray.com 

HTTP/1.1 301 Moved Permanently 
Server: nginx/0.7.65 
Content-Type: text/html; charset=UTF-8 
X-Powered-By: PHP/5.3.2-1ubuntu4.7ppa5~lucid1 
X-Pingback: http://www.mylesgray.com/xmlrpc.php 
Location: http://www.mylesgray.com/ 
Content-Length: 0 
Date: Sun, 05 Feb 2012 12:15:51 GMT 
X-Varnish: 1419774165 1419774163 
Age: 15 
Via: 1.1 varnish 
Connection: keep-alive 

# curl -I http://mylesgray.com:8080 

HTTP/1.1 301 Moved Permanently 
Server: nginx/0.7.65 
Date: Sun, 05 Feb 2012 12:16:08 GMT 
Content-Type: text/html; charset=UTF-8 
Connection: keep-alive 
X-Powered-By: PHP/5.3.2-1ubuntu4.7ppa5~lucid1 
X-Pingback: http://www.mylesgray.com/xmlrpc.php 
Location: http://www.mylesgray.com/ 

Entonces el correr curl -I http://www.mylesgray.com da:

# curl -I http://www.mylesgray.com 

HTTP/1.1 200 OK 
Server: nginx/0.7.65 
Content-Type: text/html; charset=UTF-8 
X-Powered-By: PHP/5.3.2-1ubuntu4.7ppa5~lucid1 
X-Pingback: http://www.mylesgray.com/xmlrpc.php 
Content-Length: 5132 
Date: Sun, 05 Feb 2012 12:07:29 GMT 
X-Varnish: 1419774133 1419774124 
Age: 30 
Via: 1.1 varnish 
Connection: keep-alive 

Así como se puede ver 80 es servido por Barnices y 8080 por Nginx, pero no puedo encontrar cualquier lugar cualquier cosa que hace una redirección 301, no en nginx.conf o en el archivo sites-enabled/default y no creo que sea causado por Wordpress en sí, sino que está muy abierto a la corrección.

Por favor, ayuda, esto me está volviendo loco!

Myles

Respuesta

2

La presencia de un X-Powered-By: cabecera PHP significa que wordpress está emitiendo el 301. Es debido a wordpress obligando www.mylesgray.com. Cuando utiliza un puerto no estándar, los agentes de usuario generalmente incluirán el puerto en el encabezado Host :. Trate de añadir

fastcgi_param HTTP_HOST $host; 

con el resto de sus directivas fastcgi_param (o Alog con sus "incluir fastcgi_params;") y debe solucionar este problema.

+0

he añadido esto a mi '/ etc/nginx/fastcgi_params' y reiniciar todos los servicios, pero sigue mostrando rizo de 301 para todos excepto' http: // www.mylesgray.com'. –

+0

Aquí está mi conf de sitio 'default' y mi archivo' fastcgi_params' respectivamente: https://gist.github.com/1745271 y https://gist.github.com/1745313 –

+0

¿Qué versión de nginx está ejecutando? Reemplazar encabezados de solicitud con fastcgi_param no se agregó hasta 0.8.40, parece. – kolbyjack

8

Debe agregar un '/' al final de sus URL. Además, si ejecuta ab http://foo.com, le devolverá un error "ab: URL no válida". Si lo hace "ab -t 10 http://example.com/" todo funcionará bien. Siempre debe usar '/' en sus URL de otra manera su servidor web intentará redirigir la página a la página de inicio automáticamente para usted, lo que genera una carga adicional indeseable en el servidor y algunos bytes adicionales en el cable.

servidor web

Usted le contó lo que hizo:

'/' que falta y que algo está mal con el numer puerto:

# curl -I http://www.mylesgray.com:8080 
HTTP/1.1 301 Moved Permanently 
[...] 
======> Location: http://www.mylesgray.com/ 

'www' y '/' están desaparecidos:

# curl -I http://mylesgray.com 
HTTP/1.1 301 Moved Permanently 
[...] 
=======> Location: http://www.mylesgray.com/ 
[...] 

'/' y 'www' faltan:

# curl -I http://mylesgray.com:8080 
HTTP/1.1 301 Moved Permanently 
[...] 
========> Location: http://www.mylesgray.com/ 

'esperanza de que ayude :)

Cuestiones relacionadas