Долгий редирект при включенном keep-alive
Administrator
server at edinorog.ru
Sun Feb 18 15:50:05 MSK 2007
Добрый день.
Настроен nginx-0.5.12+apache FreeBSD 4.11.
При запросе несуществующего адреса, например, без www происходит редирект апачем помощью php.
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://www.test.com/');
exit();
Так вот, что IE, что FireFox честно висят при таком редиректе и ждут окончания keepalive. Сейчас стоит 7 секунд. Поставишь его в 60 секунд, то 60 и будут ждать, а потом пойдут по новой ссылке. Опера в отличие от этих двух друзей
редиректиться сразу.
Если поставить keepalive_timeout в 0, то редирект срабатывает мгновенно.
Где ошибка и как вылечить?
В настройках nginx стоит
user web web;
worker_processes 4;
events {
worker_connections 2048;
use kqueue;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 7 5;
client_header_timeout 60;
client_body_timeout 60;
send_timeout 60;
client_header_buffer_size 1k;
large_client_header_buffers 8 4k;
server {
listen ...
server_name ...
proxy_redirect off;
port_in_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_send_lowat 12000;
proxy_buffering on;
proxy_buffer_size 16k;
proxy_buffers 54 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
location / {
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_pass http://127.0.0.1:8000;
}
}
}
--
С уважением,
Системный администратор
Дизайн-студия "Единорог"
Тел: (495) 225-44-57
E-mail: server at edinorog.ru
More information about the nginx-ru
mailing list