2012-02-05 46 views
8

Tôi gặp sự cố với máy chủ của mình chuyển hướng http://www.mylesgray.com:8080/ ->http://www.mylesgray.com/.Điều gì gây ra chuyển hướng 301 này?

Dưới đây là Nginx tôi defaultfastcgi_params cấu hình tập tin:

https://gist.github.com/1745271

https://gist.github.com/1745313

Đây là thay vì một nusance như tôi đang cố gắng để chạy một chuẩn mực của Nginx w/bộ nhớ đệm vs Varnish w/bộ nhớ đệm trên đầu trang của Nginx để xem nếu có bất kỳ lợi ích hiệu suất của một trong những khác.

Như vậy tôi có thẳng Nginx w/bộ nhớ đệm lắng nghe trên cổng 8080 và véc ni trên cổng 80 đó chuyển tiếp bất kỳ yêu cầu không được lưu trữ để Nginx trên localhost:8080, vì vậy rõ ràng là những gì tôi muốn làm là chạy một điểm chuẩn ab trên http://www.mylesgray.com:8080/ và trên http://www.mylesgray.com/ để xem sự khác biệt.

Đây là kết quả của curl -I trên các địa chỉ khác nhau.

# 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/ 

Sau đó chạy curl -I http://www.mylesgray.com cho:

# 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 

Như bạn có thể nhìn thấy 80 được phục vụ bởi Varnish và 8080 bởi Nginx nhưng tôi không thể tìm thấy bất cứ nơi nào bất cứ điều gì mà không một chuyển hướng 301, không phải trong nginx.conf hoặc trong các tập tin sites-enabled/default và tôi không tin rằng nó được gây ra bởi chính Wordpress nhưng rất nhiều để sửa chữa.

Xin vui lòng trợ giúp, điều này khiến tôi phát điên!

Myles

Trả lời

2

Sự hiện diện của X-Powered-By: tiêu đề PHP có nghĩa là wordpress được ban hành 301. Đó là do wordpress buộc www.mylesgray.com. Khi bạn sử dụng một cổng không chuẩn, các tác nhân người dùng thường sẽ bao gồm cổng trong tiêu đề Host :. Thử thêm

fastcgi_param HTTP_HOST $host; 

với phần còn lại của thị fastcgi_param của bạn (hoặc alog với bạn "bao gồm fastcgi_params;") và nó sẽ sửa lỗi này.

+0

Tôi đã thêm này để tôi '/ etc/nginx/fastcgi_params' và khởi động lại tất cả các dịch vụ nhưng curl là vẫn hiển thị của 301 cho tất cả ngoại trừ' http: // www.mylesgray.com'. –

+0

Đây là trang web 'mặc định' của tôi và tệp' fastcgi_params' của tôi tương ứng: https://gist.github.com/1745271 và https://gist.github.com/1745313 –

+0

Bạn đang chạy phiên bản nginx nào? Ghi đè các tiêu đề yêu cầu với fastcgi_param chưa được thêm cho đến 0.8.40. – kolbyjack

8

Bạn nên thêm '/' vào cuối URL của mình. Hơn nữa, nếu bạn chạy ab http://foo.com, nó sẽ trả lại cho bạn lỗi "ab: URL không hợp lệ". Nếu bạn làm "ab -t 10 http://example.com/" mọi thứ sẽ hoạt động tốt. Bạn nên luôn luôn sử dụng '/' trong các URL khác của bạn, máy chủ web của bạn sẽ cố gắng chuyển hướng trang đến trang chủ tự động cho bạn tạo ra một tải thừa không mong muốn trên máy chủ và một số byte thừa trên dây.

Bạn web server đã nói với bạn những gì nó đã làm:

'/' là mất tích và một cái gì đó không đúng với cổng numer:

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

'www' và '/' bị thiếu:

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

'/' và 'www' đang thiếu:

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

'hy vọng rằng sẽ giúp :)

Các vấn đề liên quan